当前位置: 首页 > news >正文

DockerFile定制镜像

dockerfile 简介

Dockerfile 是⼀个⽤来构建镜像的⽂本⽂件,⽂本内容包含了⼀条条构建镜像所需的指令和 说明,每条指令构建⼀层,最终构建出⼀个新的镜像。

docker镜像的本质是⼀个分层的⽂件系统

centos的iso镜像⽂件是包含bootfs和rootfs及⼤量软件包,⽽docker的centos镜像复 ⽤了操作系统的bootfs,也没有⼤量软件包,只有rootfs和其他必要镜像层

由于docker镜像是分层的,例如:tomcat、mysql镜像本身课程也就⼏⼗MB,但是它 们需要依赖基础镜像及其他镜像层,所以对外暴露的tomcat、MySQL⼤⼩会很⼤。

DockerFile关键字介绍:

dockerfile 参数
关键字作⽤备注
FROM指定⽗镜像指定dockerfile基于哪个镜像构建
MAINTAINER作者信息⽤来标明这个dockerfile谁写的
LABEL标签⽤来标明dockerfile的标签,可以使⽤label代替 Maintainer,最终都是在docker image基本信息中可以查看
RUN执⾏命令容器创建过程中执⾏命令,默认是/bin/sh,格式:RUN 命令 或者 RUN ["命令","参数1","参数2"]
CMD容器启动命令提供启动容器时候的默认命令,和ENTRYPOINT配合使⽤,格 式:CMD 命令 参数1 参数2 或者 CMD ["命令","参数1","参数 2"]
ENTRYPOINT⼊⼝⼀般在制作⼀些执⾏就关闭的容器中会使⽤
COPY复制⽂件构建镜像时,复制⽂件到镜像中,COPY指令只能从执⾏ docker build所在的主机上读取资源并复制到镜像中。
ADD添加⽂件ADD指令更擅⻓读取本地tar⽂件并解压缩。⽽ADD指令还⽀ 持通过URL从远程服务器读取资源并复制到镜像中。
ENV环境变量  指定构建时的环境变量,后续的指令中,就可以使⽤这个环境变量。
ARG构建参数与 ENV 作⽤⼀致,如果有ENV,那么ENV的相同名字的值始 终覆盖ARG的参数
VOLUME定义外部可以挂载的数据卷指定镜像中的⽬录可以挂载到数据卷⽬录,启动容器时⽤-v绑 定,格式:VALUME ["⽬录"]
EXPOSE暴露端⼝定义容器运⾏时监听的端⼝,启动容器时,使⽤-p绑定暴露的 端⼝,格式:EXPOSE 80 或者 EXPOSE 80/tcp
WORKDIR⼯作⽬录指定容器内部的⼯作⽬录,作为⽤户⾸次登录容器时停留的⽬ 录,如果没有创建则⾃动创建,如果指定/,使⽤的是绝对地 址,如果不是/开头,那么是在上⼀条workdir的路径的相对路 径
USER指定执⾏⽤户指定构建或者启动时镜像时,⽤户在RUN,CMD, ENTRYPONT执⾏时候的⽤户
HEALTHCHECK健康检查指定监测当前容器的命令,基本上没⽤,应为很多时候,应⽤ 本身⾃带健康检查机制
ONBUILD触发器当存在触发器关键字的镜像作为基础镜像时,当执⾏FROM完 成之后,会执⾏ONBUILD的命令,但是不影响当前镜像,⽤处 也不⼤
STOPSIGNAL发送信号到宿主机该信号指令设置将发送到容器的系统调⽤信号以退出
SHELL执⾏执⾏脚本的shell指定执⾏ RUN,CMD,ENTRYPOINT执⾏命令时,使⽤的 shell

环境

Redhat 9.2

安装docker docker 应用部署-CSDN博客

步骤

创建dockerfile目录 创建dockerfile 文件

[root@admin ~]# mkdir /dockerfile
[root@admin ~]# cd /dockerfile/
[root@admin dockerfile]# vim centos_dockerfile
[root@admin dockerfile]# cat centos_dockerfile 
from centos:7
maintainer my
run yum -y install vim wget && wget -O /etc/yum.repos.d/Centos-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo && wget -O /etc/yum.repos.d/epel.repo \
http://mirrors.aliyun.com/repo/epel-7.repo
workdir  /root
cmd /bin/bash

运行dockerfile

格式:docker build -f dockerfile⽂件 -t 镜像名称:镜像标签 .

[root@admin dockerfile]# docker build -f /dockerfile/centos_dockerfile  -t centos7:v1 .
[+] Building 207.4s (7/7) FINISHED                                                                                                    docker:default=> [internal] load build definition from centos_dockerfile                                                                                     0.0s=> => transferring dockerfile: 365B                                                                                                            0.0s=> [internal] load metadata for docker.io/library/centos:7                                                                                     1.0s=> [internal] load .dockerignore                                                                                                               0.0s=> => transferring context: 2B                                                                                                                 0.0s=> [1/3] FROM docker.io/library/centos:7@sha256:9d4bcbbb213dfd745b58be38b13b996ebb5ac315fe75711bd618426a630e0987                              94.9s=> => resolve docker.io/library/centos:7@sha256:9d4bcbbb213dfd745b58be38b13b996ebb5ac315fe75711bd618426a630e0987                               0.0s=> => sha256:dead07b4d8ed7e29e98de0f4504d87e8880d4347859d839686a31da35a3b532f 529B / 529B                                                      0.0s=> => sha256:eeb6ee3f44bd0b5103bb561b4c16bcb82328cfe5809ab675bb17ab3a16c517c9 2.75kB / 2.75kB                                                  0.0s=> => sha256:2d473b07cdd5f0912cd6f1a703352c82b512407db6b05b43f2553732b55df3bc 76.10MB / 76.10MB                                               90.8s=> => sha256:9d4bcbbb213dfd745b58be38b13b996ebb5ac315fe75711bd618426a630e0987 1.20kB / 1.20kB                                                  0.0s=> => extracting sha256:2d473b07cdd5f0912cd6f1a703352c82b512407db6b05b43f2553732b55df3bc                                                       3.8s=> [2/3] RUN yum -y install vim wget && wget -O /etc/yum.repos.d/Centos-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo && wget -O   110.6s=> [3/3] WORKDIR  /root                                                                                                                        0.1s => exporting to image                                                                                                                          0.8s => => exporting layers                                                                                                                         0.7s => => writing image sha256:f34ade5782a08614c2b86e56b2c67e2d766065d54299390ecaa94efe491b5910                                                    0.0s => => naming to docker.io/library/centos7:v1                                                                                                   0.0s 
[root@admin dockerfile]#                                                                                                                             

注:最后的 . 代表本次执⾏的上下⽂路径。上下⽂路径,是指 docker 在构建镜像,有时候想要使⽤到本机的⽂件(⽐如复制),docker build 命令得知这个路径后,会将路径下的 所有内容打包。

解析:由于 docker 的运⾏模式是 C/S。我们本机是 C,docker 引擎是 S。实际的构建过程 是在 docker 引擎下完成的,所以这个时候⽆法⽤到我们本机的⽂件。这就需要把我们本机 的指定⽬录下的⽂件⼀起打包提供给 docker 引擎使⽤。 如果未说明最后⼀个参数,那么默认上下⽂路径就是 Dockerfile 所在的位置。

注意:上下⽂路径下不要放⽆⽤的⽂件,因为会⼀起打包发送给 docker 引擎,如果⽂件过 多会造成过程缓慢。

查看构建的镜像

[root@admin dockerfile]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED              SIZE
centos7      v1        f34ade5782a0   About a minute ago   505MB
[root@admin dockerfile]# 

基于镜像创建一个容器验证是否可行

[root@admin dockerfile]# docker run -it --name centos7 centos7:v1  /bin/bash
[root@5fa0bb694e6e ~]# 
[root@5fa0bb694e6e ~]# 
[root@5fa0bb694e6e ~]# 
[root@5fa0bb694e6e ~]# pwd
/root
[root@5fa0bb694e6e ~]# yum repolist   //列出仓库
Loaded plugins: fastestmirror, ovl
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository centosplus is listed more than once in the configuration
Loading mirror speeds from cached hostfile* base: mirrors.ustc.edu.cn* extras: mirrors.ustc.edu.cn* updates: mirrors.ustc.edu.cn
epel                                                                                                                            | 4.7 kB  00:00:00     
(1/3): epel/x86_64/group_gz                                                                                                     | 100 kB  00:00:00     
(2/3): epel/x86_64/updateinfo                                                                                                   | 1.0 MB  00:00:02     
(3/3): epel/x86_64/primary_db                                                                                                   | 7.0 MB  00:00:09     
repo id                                                  repo name                                                                               status
base/7/x86_64                                            CentOS-7 - Base                                                                         10072
epel/x86_64                                              Extra Packages for Enterprise Linux 7 - x86_64                                          13798
extras/7/x86_64                                          CentOS-7 - Extras                                                                         526
updates/7/x86_64                                         CentOS-7 - Updates                                                                       5802
repolist: 30198
[root@5fa0bb694e6e ~]# vim test    //验证vim工具是否安装
[root@5fa0bb694e6e ~]# cat test 
sdaj
[root@5fa0bb694e6e ~]# 

通过Dockerfile构建php连接mysql扩展模块的镜像

下载php镜像⽂件,版本为7.2版本

[root@admin dockerfile]# docker pull php:7.2-fpm7.2-fpm: Pulling from library/php
6ec7b7d162b2: Pull complete 
db606474d60c: Pull complete 
afb30f0cd8e0: Pull complete 
3bb2e8051594: Pull complete 
4d71313b39b0: Pull complete 
381de550657f: Pull complete 
e671c4250cc8: Pull complete 
111da53eb201: Pull complete 
e12697892372: Pull complete 
0540b5ed3310: Pull complete 
0461cc2270a7: Pull complete 
Digest: sha256:9c84ae47fddb97b94d1d2e289635b7306142a5336bc4ece0a393458c5e0d2cef
Status: Downloaded newer image for php:7.2-fpm
docker.io/library/php:7.2-fpm
[root@admin dockerfile]# 

 创建容器查看模块

[root@admin dockerfile]# docker run -it --name php php:7.2-fpm  /bin/bash
root@e1243835e67c:/var/www/html# php -m | grep mysqld
root@e1243835e67c:/var/www/html# php -m | grep mysql 
mysqlnd
root@e1243835e67c:/var/www/html# 

 通过dockerfile文件构建MySQL模块

[root@admin dockerfile]# ls
centos_dockerfile
[root@admin dockerfile]# vim mysql_dockerfile
[root@admin dockerfile]# cat mysql_dockerfile 
from php:7.2-fpm
run docker-php-ext-install pdo_mysql mysqli
[root@admin dockerfile]# docker build -f  ./mysql_dockerfile  -t php7.2-mysql5.7:v1 .
[+] Building 15.3s (6/6) FINISHED                                                                                                       docker:default=> [internal] load build definition from mysql_dockerfile                                                                                        0.0s=> => transferring dockerfile: 161B                                                                                                              0.0s=> [internal] load metadata for docker.io/library/php:7.2-fpm                                                                                    0.0s=> [internal] load .dockerignore                                                                                                                 0.0s=> => transferring context: 2B                                                                                                                   0.0s=> [1/2] FROM docker.io/library/php:7.2-fpm                                                                                                      0.0s=> [2/2] RUN docker-php-ext-install pdo_mysql mysqli                                                                                            15.0s=> exporting to image                                                                                                                            0.1s => => exporting layers                                                                                                                           0.1s => => writing image sha256:e48f1a0e6209419dba3a93de4c263cd4c313224d0b490dcbb2589bb4c0eef552                                                      0.0s => => naming to docker.io/library/php7.2-mysql5.7:v1                                                                                             0.0s 
[root@admin dockerfile]#                       

 查看镜像

[root@admin dockerfile]# docker images
REPOSITORY        TAG       IMAGE ID       CREATED          SIZE
php7.2-mysql5.7   v1        e48f1a0e6209   57 seconds ago   398MB   //dockerfile构建的镜像
centos7           v1        f34ade5782a0   25 minutes ago   505MB
php               7.2-fpm   28f52b60203d   3 years ago      398MB
[root@admin dockerfile]# 

 进入容器查看mysql模块

[root@admin dockerfile]# docker run -it --name php-mysql php7.2-mysql5.7:v1  /bin/bash
root@59e58bc08b93:/var/www/html# php -m | grep mysql
mysqli
mysqlnd
pdo_mysql
root@59e58bc08b93:/var/www/html# 

镜像转为压缩文件

将前面构建的phpmysql:v1镜像转为压缩⽂件,以便于保存和传输

格式:docker save -o    压缩⽂件名称      镜像名称:版本号

[root@admin dockerfile]# docker save  -o php7.2_mysql5.7.tar.gz php7.2-mysql5.7:v1 
[root@admin dockerfile]# ls
centos_dockerfile  mysql_dockerfile  php7.2_mysql5.7.tar.gz
[root@admin dockerfile]# 

删除原来的镜像

[root@admin dockerfile]# docker rmi php7.2-mysql5.7:v1 
Error response from daemon: conflict: unable to remove repository reference "php7.2-mysql5.7:v1" (must force) - container 59e58bc08b93 is using its referenced image e48f1a0e6209
[root@admin dockerfile]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@admin dockerfile]# docker ps -a
CONTAINER ID   IMAGE                COMMAND                   CREATED          STATUS                        PORTS     NAMES
59e58bc08b93   php7.2-mysql5.7:v1   "docker-php-entrypoi…"   3 minutes ago    Exited (0) 2 minutes ago                php-mysql
e1243835e67c   php:7.2-fpm          "docker-php-entrypoi…"   11 minutes ago   Exited (0) 10 minutes ago               php
5fa0bb694e6e   centos7:v1           "/bin/bash"               27 minutes ago   Exited (127) 15 minutes ago             centos7
[root@admin dockerfile]# docker rm php
php        php-mysql  
[root@admin dockerfile]# docker rm php-mysql 
php-mysql
[root@admin dockerfile]# docker rmi php7.2-mysql5.7:v1 
Untagged: php7.2-mysql5.7:v1
Deleted: sha256:e48f1a0e6209419dba3a93de4c263cd4c313224d0b490dcbb2589bb4c0eef552
[root@admin dockerfile]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
centos7      v1        f34ade5782a0   31 minutes ago   505MB
php          7.2-fpm   28f52b60203d   3 years ago      398MB
[root@admin dockerfile]# 

解压为镜像 

格式:docker load -i 压缩⽂件名称

[root@admin dockerfile]# docker  load  -i  php7.2_mysql5.7.tar.gz 
Loaded image: php7.2-mysql5.7:v1
[root@admin dockerfile]# 
[root@admin dockerfile]# 
[root@admin dockerfile]# docker images
REPOSITORY        TAG       IMAGE ID       CREATED          SIZE
php7.2-mysql5.7   v1        e48f1a0e6209   7 minutes ago    398MB
centos7           v1        f34ade5782a0   32 minutes ago   505MB
php               7.2-fpm   28f52b60203d   3 years ago      398MB
[root@admin dockerfile]# 

 基于镜像创建容器验证

[root@admin dockerfile]# docker run -it  --name php_mysql php7.2-mysql5.7:v1  /bin/bash
root@d992a245404b:/var/www/html# 
root@d992a245404b:/var/www/html# php -m |grep mysql
mysqli
mysqlnd
pdo_mysql
root@d992a245404b:/var/www/html# 

容器转为镜像

容器可以是运⾏状态,也可以是退出状态。

提示:容器转为镜像时,容器内的配置或数据也会被保存到新镜像⽂件中,但是如果容器内做过数据卷,数据卷挂载的配置不会被保存到新镜像中

命令格式:docker commit    容器ID/容器名称     镜像名称:版本号

[root@admin ~]# docker run -d --name mysql_php  php7.2-mysql5.7:v1  
8e93a06e84ce237074a0fcf70b7f463ae4b6f1e214fec7910aec99a1591012f2
[root@admin ~]# docker ps
CONTAINER ID   IMAGE                COMMAND                   CREATED         STATUS         PORTS                                   NAMES
8e93a06e84ce   php7.2-mysql5.7:v1   "docker-php-entrypoi…"   5 seconds ago   Up 4 seconds   9000/tcp                                mysql_php
[root@admin ~]# 
[root@admin ~]# docker commit  mysql_php  mysqlmy
sha256:d522ac70fafc0aafcea84221ea6edd3ff05d08fd0cade142490f5e18df2edd99
[root@admin ~]# docker images
REPOSITORY        TAG       IMAGE ID       CREATED          SIZE
mysqlmy           latest    d522ac70fafc   6 seconds ago    398MB
php7.2-mysql5.7   v1        e48f1a0e6209   34 minutes ago   398MB
[root@admin ~]# docker run -d --name mysqlphp mysqlmy
ca9843d72c1bcd73094d4b369d7396ca3ae55a1c8a1f550d0c1097acda310cc8
[root@admin ~]# docker ps
CONTAINER ID   IMAGE                COMMAND                   CREATED              STATUS              PORTS                                   NAMES
ca9843d72c1b   mysqlmy              "docker-php-entrypoi…"   2 seconds ago        Up 1 second         9000/tcp                                mysqlphp
8e93a06e84ce   php7.2-mysql5.7:v1   "docker-php-entrypoi…"   About a minute ago   Up About a minute   9000/tcp                                mysql_php
[root@admin ~]# 

相关文章:

DockerFile定制镜像

dockerfile 简介 Dockerfile 是⼀个⽤来构建镜像的⽂本⽂件,⽂本内容包含了⼀条条构建镜像所需的指令和 说明,每条指令构建⼀层,最终构建出⼀个新的镜像。 docker镜像的本质是⼀个分层的⽂件系统 centos的iso镜像⽂件是包含bootfs和rootfs…...

Java8中JUC包同步工具类深度解析(Semaphore,CountDownLatch,CyclicBarrier,Phaser)

个人主页: 进朱者赤 阿里非典型程序员一枚 ,记录平平无奇程序员在大厂的打怪升级之路。 一起学习Java、大数据、数据结构算法(公众号同名) 引言 在Java中,并发编程一直是一个重要的领域,而JDK 8中的java.u…...

岛屿个数(dfs)

[第十四届蓝桥杯省B 岛屿个数] 小蓝得到了一副大小为 M N MN MN 的格子地图,可以将其视作一个只包含字符 0 0 0(代表海水)和 1 1 1(代表陆地)的二维数组,地图之外可以视作全部是海水,每个岛…...

【C++造神计划】运算符

1 赋值运算符 赋值运算符的功能是将一个值赋给一个变量 int a 5; // 将整数 5 赋给变量 a 运算符左边的部分叫作 lvalue(left value),右边的部分叫作 rvalue(right value) 左边 lvalue 必须是一个变量 右边 rval…...

Cortex-M3/M4处理器的bit-band(位带)技术

ARM Cortex-M3/M4的位带(Bit-Band)技术是一种内存映射技术,它允许对单个位进行直接操作,而不需要对整个字(通常是32位)进行操作。这项技术主要用于对特定的位进行高效的读写,特别是在需要对GPIO…...

【TOP】IEEE旗下1区,影响因子将破8,3个月录用,CCF推荐,性价比高!

计算机类 ● 好刊解读 IEEE出版社、中科院2区TOP,CCF推荐,今天推荐的期刊可谓buff叠满,好刊质量靠谱,有意向评职晋升毕业作者可重点关注: 01 期刊简介 ✅出版社:IEEE ✅影响因子:7.5-8.0 ✅…...

赚钱游戏 2.0.1 版 (资源免费)

没有c编辑器的可以直接获取资源来玩 #include <iostream> #include <string> #include <windows.h> #include <conio.h> #include <fstream> #include <ctime> #include <time.h> #include <stdio.h> #include <cstring&g…...

服务调用-微服务小白入门(4)

背景 各个服务应用&#xff0c;有很多restful api&#xff0c;不论是用哪种方式发布&#xff0c;部署&#xff0c;注册&#xff0c;发现&#xff0c;有很多场景需要各个微服务之间进行服务的调用&#xff0c;大多时候返回的json格式响应数据多&#xff0c;如果是前端直接调用倒…...

代码随想录算法训练营第三十六天| 435. 无重叠区间、 763.划分字母区间、56. 合并区间

435 题目&#xff1a; 给定一个区间的集合 intervals &#xff0c;其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量&#xff0c;使剩余区间互不重叠 。 题目链接&#xff1a;435. 无重叠区间 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; …...

【AIGC调研系列】rerank3是什么

Rerank 3是一个针对企业搜索和检索辅助生成&#xff08;RAG&#xff09;系统优化的新型基础模型&#xff0c;它支持多语种、多结构数据搜索&#xff0c;并提供高精度的语义重排。通过这种方式&#xff0c;Rerank 3能够大幅提升响应准确度和降低延迟&#xff0c;同时大幅降低成本…...

Linux下网络编程基础知识--协议

网络基础 这一个课程的笔记 相关文章 协议 Socket编程 高并发服务器实现 线程池 协议 一组规则, 数据传输和数据的解释的规则。 比如说依次发送文件的文件名, 文件的大小, 以及实际的文件, 这样规定发送一个文件的顺序以及发送的每一个部分的格式等可以算是一种协议 型协议 …...

在 VS Code 中使用 GitHub Copilot

Code 结合使用。 GitHub Copilot 是什么 GitHub Copilot 是一个可以帮助你更简单、更快速地编写代码的工具&#xff0c;由 GPT-3 提供支持。你只需编写所需代码的描述——例如&#xff0c;编写一个函数来生成一个随机数&#xff0c;或对一个数组进行排序——Copilot 就会为你…...

使用spring-ai快速对接ChatGpt

什么是spring-ai Spring AI 是一个与 Spring 生态系统紧密集成的项目&#xff0c;旨在简化在基于 Spring 的应用程序中使用人工智能&#xff08;AI&#xff09;技术的过程。 简化集成&#xff1a;Spring AI 为开发者提供了方便的工具和接口&#xff0c;使得在 Spring 应用中集…...

免费的 ChatGPT 网站(六个)

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 文章目录 一、insCode二、讯飞星火三、豆包四、文心一言五、通义千问六、360智脑 现在智能…...

arm内核驱动-中断

先介绍个东西 ctags 这个工具可以像keil一样在工程里查找跳转&#xff0c;帮我们找到我们想要的东西。 安装教程可以找到&#xff0c;这里只讲怎么用。 在工程目录&#xff08;包含所有你会用到的头文件等&#xff09;下&#xff0c;先加载这个命令&#xff0c;可能要等待…...

第十五届蓝桥杯大赛软件赛省赛 C/C++ 大学 B 组

试题 C: 好数 时间限制 : 1.0s 内存限制: 256.0MB 本题总分&#xff1a;10 分 【问题描述】 一个整数如果按从低位到高位的顺序&#xff0c;奇数位&#xff08;个位、百位、万位 &#xff09;上 的数字是奇数&#xff0c;偶数位&#xff08;十位、千位、十万位 &…...

kotlin编译版本

Kotlin和kapt的流行版本通常随着时间而变化&#xff0c;随着新版本的发布&#xff0c;更多的开发者会迁移到这些新版本。不过&#xff0c;由于Kotlin对向后兼容性的强调&#xff0c;大多数近期的Kotlin版本都支持Java 8。 截至本回答的知识截止日期&#xff08;2023年&#xff…...

【C#】 删除首/尾部字符

代码 static void Main(string[] args){string str "123abc";string strdelete "abc";string str1 str.Trim(1);string strc str1.Trim(c);string str11 str1.TrimStart(1);string strcc str1.TrimEnd(c);string strabc str.Trim(strdelete.ToCharA…...

第十五篇【传奇开心果系列】Python自动化办公库技术点案例示例:深度解读Python 自动化处理图像在各行各业的应用场景

传奇开心果博文系列 系列博文目录Python自动化办公库技术点案例示例系列 博文目录前言一、行业应用场景介绍二、 **计算机视觉研究与开发示例代码**三、人工智能与机器学习示例代码四、医疗健康领域示例代码五、制造业与质量控制示例代码六、农业与环境科学示例代码七、电子商务…...

什么是MOV视频格式?如何把MP4视频转MOV视频格式?

一&#xff0c;前言 当然可以&#xff0c;MP4视频可以转换为MOV格式。这两种格式都是常见的视频文件格式&#xff0c;它们都可以用于存储和播放视频内容。虽然它们的编码方式和特性有所不同&#xff0c;但使用合适的视频转换工具可以轻松地将MP4视频转换为MOV格式。 二&#…...

整理的微信小程序日历(单选/多选/筛选)

一、日历横向多选&#xff0c;支持单日、双日、三日、工作日等选择 效果图 wxml文件 <view class"calendar"><view class"section"><view class"title flex-box"><button bindtap"past">上一页</button&…...

Unity 人形骨骼动画模型嘴巴张开

最近搞Daz3D玩&#xff0c;导入后挂上动画模型嘴巴张开&#xff0c;其丑无比。 Google了一下&#xff0c;得知原因是Unity没有对下巴那根骨骼做控制&#xff0c;动画系统就会把它放到默认的位置&#xff0c;嘴巴就张开了。找到了3种解决办法。 1.移除动画中对下巴这个骨骼的转…...

Python爬虫-京东商品评论数据

前言 本文是该专栏的第68篇,后面会持续分享python爬虫干货知识,记得关注。 在本专栏之前,笔者有详细介绍京东滑块验证码的解决方法,感兴趣的同学,可以直接翻阅文章《Python如何解决“京东滑块验证码”(5)》进行查看。 而本文,笔者以京东商品详情页的评论数据为例,通过…...

实况窗助力美团打造鸿蒙原生外卖新体验,用户可实时掌握外卖进展

自2023年华为宣布全新HarmonyOS NEXT蓄势待发&#xff0c;鸿蒙原生应用全面启动以来&#xff0c;已有金融、旅行、社交等多个领域的企业和开发者陆续宣布加入鸿蒙生态。其中&#xff0c;美团作为国内头部的科技零售企业&#xff0c;是首批加入鸿蒙生态的伙伴&#xff0c;其下的…...

Go语言mac环境搭建详解

Go语言mac环境搭建详解见视频&#xff0c;视频下方也有讲解具体的操作步骤。 Golang Mac电脑环境搭建、开发工具Vscode配置 Go语言mac环境搭建步骤如下&#xff1a; 1、下载安装Golang Go官网下载地址&#xff1a;https://golang.org/dl/ Go官方镜像站&#xff08;推荐&…...

房贷还款(C语言)

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h> # include <math.h>int main() {//初始化变量值&#xff1b;double m, r 0.01;float d 300000;float p 6000;//运算还款所需月份&#xff1b;m log10…...

系统架构最佳实践 -- 供应链系统架构

供应链系统是现代企业管理中不可或缺的一部分&#xff0c;它涉及到从原材料采购到产品销售的整个生产流程。一个高效的供应链系统可以帮助企业实现成本控制、库存优化和客户满意度提升等目标。在本文中&#xff0c;我们将讨论供应链系统的设计与实践。 一、供应链系统设计 业务…...

SpringCloudAlibaba-整合sentinel(四)

目录地址&#xff1a; SpringCloudAlibaba整合-CSDN博客 这里只关注代码部分&#xff0c;至于sentinel服务UI的实用&#xff0c;后面可以补上 这里做一个改造&#xff1a; 因为sentinel可以和openfeign结合使用&#xff0c;为微服务做熔断降级&#xff1b; 为了方便微服务之间…...

【研发日记】Matlab/Simulink软件优化(一)——动态内存负荷压缩

文章目录 背景介绍 初始代码 优化代码 分析和应用 总结 背景介绍 在一个嵌入式软件开发项目中&#xff0c;有一个使用MATLAB Function编写的算法模块&#xff0c;功能是从一个较大的数组中提取一段数据&#xff0c;然后求均值输出&#xff0c;示例如下&#xff1a; 初始代…...

python使用Flask框架开发API

Flask是一个基于Python的轻量级Web应用程序框架。 安装依赖库 pip install flask pip install werkzeug 上传接口 Python from flask import Flask, request from werkzeug.utils import secure_filenameapp Flask(__name__)app.route(/upload, methods[POST]) def uploa…...

网站做流量是怎么回事/外链相册

最近要弄弄以前想弄的东东了&#xff0c; 所以图形界面不可少&#xff0c;&#xff0c;TKinter&#xff0c; 就用它了&#xff0c; 简单&#xff0c;满足要求。 #coding: utf8 from Tkinter import *def tklabel(event):s Label(root, text"IloveXin")s.pack()root …...

临沂网站推广/进入百度搜索首页

有一个很多人都明白的现象&#xff1a;只要不是底层&#xff0c;通常男人想脱单会比女生容易一点&#xff0c;尤其是条件尚可的男性&#xff0c;相比于和自己层次相当的女生&#xff0c;恋爱和结婚的难度都低得多。为什么&#xff1f;有个标准答案&#xff1a;因为男人可以向下…...

有没有专门做设计的网站/快速网站排名提升工具

先对所有数字进行一次异或&#xff0c;得到两个出现一次的数字的异或值。 在异或结果中找到任意为 11 的位。 根据这一位对所有的数字进行分组。 在每个组内进行异或操作&#xff0c;得到两个数字。 class Solution { public:vector<int> singleNumbers(vector<int>…...

做最便宜的网站建设/网站排名

来自公众号&#xff1a;新世界杂货铺前言前段时间发表了Go中的HTTP请求之——HTTP1.1请求流程分析&#xff0c;所以这两天本来打算研究HTTP2.0的请求源码&#xff0c;结果发现太复杂就跑去逛知乎了&#xff0c;然后就发现了一个非常有意思的提问“golang 特殊字符的string怎么转…...

排名优化怎么做/满足seo需求的网站

http://blog.sciencenet.cn/blog-1225851-927091.html 1《GitHub入门与实践》 从Git的基本知识和操作方法入手&#xff0c;详细介绍了GitHub的各种功能&#xff0c;GitHub与其他工具或服务的协作&#xff0c;使用GitHub的开发流程以及如何将GitHub引入到企业中。在讲解GitHub的…...

广西南宁网站推广/网络推广方案模板

&#xff08;转载&#xff09;http://hi.baidu.com/dujiaopeng/item/b87de8a952956e9d151073b6 在数据库中&#xff0c;UNION和UNION ALL关键字都是将两个结果集合并为一个&#xff0c;但这两者从使用和效率上来说都有所不同。 &#xff08;1&#xff09;MySQL中的UNION UNION在…...