docker构建镜像——Dockerfile
from
RUN
CMD
EXPOSE
LABEL
ENV
COPY
格式
COPY [--chown=<用户>:<组>]<源>...<目的>
COPY [--chown=<用户>:<组>]["<源>"..."<目的>"]
案例
[root@hmm ~]# mkdir yum3-centos
[root@hmm ~]# ls
anaconda-ks.cfg docker-hello hello.c sizetest yum3-centos
Dockerfile hello hello-world.tar test1
[root@hmm ~]# cd yum3-centos/
[root@hmm yum3-centos]# ls
[root@hmm yum3-centos]# touch Dockerfile
[root@hmm yum3-centos]# touch nginx.repo
[root@hmm yum3-centos]# pwd
/root/yum3-centos
[root@hmm yum3-centos]# vim Dockerfile
-bash: vim: command not found
[root@hmm yum3-centos]# vi Dockerfile
[root@hmm yum3-centos]# vi nginx.repo
[root@hmm yum3-centos]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry latest 9363667f8aec 2 weeks ago 25.4MB
centos-with-nginx latest fe0f7fc1d27c 2 weeks ago 248MB
imglayers-test latest 3d2d641327e8 2 weeks ago 196MB
my-hello latest e8c9e00260a8 3 weeks ago 861kB
registry.cn-hangzhou.aliyuncs.com/hanmiao_03/hmmmm 24.03.26 e8c9e00260a8 3 weeks ago 861kB
127.0.0.1:5000/ubuntu latest ca2b0f26964c 4 weeks ago 77.9MB
ubuntu latest ca2b0f26964c 4 weeks ago 77.9MB
httpd latest ac45b24b92cc 2 months ago 167MB
hm/ubuntu hhh f9a80a55f492 10 months ago 63.2MB
ubuntu 18.04 f9a80a55f492 10 months ago 63.2MB
hello-world latest d2c94e258dcb 11 months ago 13.3kB
127.0.0.1:5000/centos v1 5d0da3dc9764 2 years ago 231MB
centos latest 5d0da3dc9764 2 years ago 231MB
ubuntu 14.04 13b66b487594 3 years ago 197MB
[root@hmm yum3-centos]# docker run centos-with-nginx
[root@hmm yum3-centos]# docker build -t 'yun3-copy1' .
[+] Building 0.2s (7/7) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 99B 0.0s
=> [internal] load metadata for docker.io/library/centos:latest 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 140B 0.0s
=> [1/2] FROM docker.io/library/centos:latest 0.0s
=> [2/2] COPY ./nginx.repo /etc/yum.repos.d/ 0.0s
=> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:592cacbb3f593d986c578fdb9e29ea0e806b057b 0.0s
=> => naming to docker.io/library/yun3-copy1 0.0s
[root@hmm yum3-centos]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
yun3-copy1 latest 592cacbb3f59 5 seconds ago 231MB
registry latest 9363667f8aec 2 weeks ago 25.4MB
centos-with-nginx latest fe0f7fc1d27c 2 weeks ago 248MB
imglayers-test latest 3d2d641327e8 2 weeks ago 196MB
my-hello latest e8c9e00260a8 3 weeks ago 861kB
registry.cn-hangzhou.aliyuncs.com/hanmiao_03/hmmmm 24.03.26 e8c9e00260a8 3 weeks ago 861kB
127.0.0.1:5000/ubuntu latest ca2b0f26964c 4 weeks ago 77.9MB
ubuntu latest ca2b0f26964c 4 weeks ago 77.9MB
httpd latest ac45b24b92cc 2 months ago 167MB
hm/ubuntu hhh f9a80a55f492 10 months ago 63.2MB
ubuntu 18.04 f9a80a55f492 10 months ago 63.2MB
hello-world latest d2c94e258dcb 11 months ago 13.3kB
127.0.0.1:5000/centos v1 5d0da3dc9764 2 years ago 231MB
centos latest 5d0da3dc9764 2 years ago 231MB
ubuntu 14.04 13b66b487594 3 years ago 197MB
[root@hmm yum3-centos]# docker run -ti yun3-copy1
[root@5e60d54ffd46 /]# cd /etc/yum.repos.d/
[root@5e60d54ffd46 yum.repos.d]# ls
CentOS-Linux-AppStream.repo CentOS-Linux-HighAvailability.repo
CentOS-Linux-BaseOS.repo CentOS-Linux-Media.repo
CentOS-Linux-ContinuousRelease.repo CentOS-Linux-Plus.repo
CentOS-Linux-Debuginfo.repo CentOS-Linux-PowerTools.repo
CentOS-Linux-Devel.repo CentOS-Linux-Sources.repo
CentOS-Linux-Extras.repo nginx.repo
CentOS-Linux-FastTrack.repo
[root@5e60d54ffd46 yum.repos.d]# cat nginx.repo
[nginx]
name=nginx
baseurl=http://nginx.org/packages/centos/$releasever/$basearch
gpgcheck=0
enabled=1
源路径必须位于构建上下文中
使用copy的时候超出当前构建范围,不管是使用相对路径还是使用绝对路径,构建镜像的时候都会报错
- 使用相对路径构建
[root@hmm yum3-centos]# docker build -t yum3-copy2 .
[+] Building 0.0s (7/7) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 135B 0.0s
=> [internal] load metadata for docker.io/library/centos:latest 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [1/3] FROM docker.io/library/centos:latest 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 31B 0.0s
=> CACHED [2/3] COPY ./nginx.repo /etc/yum.repos.d/ 0.0s
=> ERROR [3/3] COPY ../../home/hmm/hello.txt /root 0.0s
------
> [3/3] COPY ../../home/hmm/hello.txt /root:
------
Dockerfile:3
--------------------
1 | FROM centos
2 | COPY ./nginx.repo /etc/yum.repos.d/
3 | >>> COPY ../../home/hmm/hello.txt /root #报错
4 | CMD /bin/bash
5 |
--------------------
ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref 77c8e775-3806-4851-a513-b1983d25edd4::03l8kntfbdcyvyt4tw33xeuv5: "/home/hmm/hello.txt": not found
[root@hmm yum3-centos]
#不管源文件是用的绝对路径还是相对路径,只要超出了当前路径那么就会失败,报错
- 使用绝对路径
[+] Building 0.0s (7/7) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 139B 0.0s
=> [internal] load metadata for docker.io/library/centos:latest 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [1/3] FROM docker.io/library/centos:latest 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 31B 0.0s
=> CACHED [2/3] COPY ./nginx.repo /etc/yum.repos.d/ 0.0s
=> ERROR [3/3] COPY /root/yum3-centos/nginx.repo /root 0.0s
------
> [3/3] COPY /root/yum3-centos/nginx.repo /root:
------
Dockerfile:3
--------------------
1 | FROM centos
2 | COPY ./nginx.repo /etc/yum.repos.d/
3 | >>> COPY /root/yum3-centos/nginx.repo /root #报错
4 | CMD /bin/bash
5 |
--------------------
ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref 77c8e775-3806-4851-a513-b1983d25edd4::pu9wv1zzwb7w9tuck529visuq: "/root/yum3-centos/nginx.repo": not found
[root@hmm yum3-centos]#
如果源是目录,则复制目录的整个内容,包括文件系统元数据。
[root@hmm yum3-centos]# vi Dockerfile
[root@hmm yum3-centos]# docker build -t yum3-copy3 .
[+] Building 0.3s (8/8) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 130B 0.0s
=> [internal] load metadata for docker.io/library/centos:latest 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [1/3] FROM docker.io/library/centos:latest 0.0s
=> [internal] load build context 0.1s
=> => transferring context: 962.10kB 0.1s
=> CACHED [2/3] COPY ./nginx.repo /etc/yum.repos.d/ 0.0s
=> [3/3] COPY ./lunisolar-main/ /home/ 0.0s
=> exporting to image 0.1s
=> => exporting layers 0.1s
=> => writing image sha256:84ae402461bb0b18255a4fbe8dfd918f35e26072 0.0s
=> => naming to docker.io/library/yum3-copy3 0.0s
[root@hmm yum3-centos]# docker run yum3-copy3
[root@hmm yum3-centos]# docker run -ti yum3-copy3
[root@153b880fd808 /]# ls
bin etc lib lost+found mnt proc run srv tmp var
dev home lib64 media opt root sbin sys usr
[root@153b880fd808 /]# cd /home/
[root@153b880fd808 home]# ls
CHANGELOG.md babel.config.js package.json tsconfig.json
LICENSE changelog-config.js pnpm-lock.yaml typings
README.md docs rollup.config.js
__tests__ jest.config.ts src
[root@153b880fd808 home]#
多个源
#如果直接指定多个源,或者源中使用了通配符,则目的路径必须是目录,并且必须以斜杠(/)结尾
[root@hmm yum3-centos]# ls
Dockerfile lunisolar-main nginx.repo
[root@hmm yum3-centos]# vim Dockerfile
[root@hmm yum3-centos]# cat Dockerfile
FROM centos
COPY ./luni* nginx.repo /home/
CMD /bin/bash
[root@hmm yum3-centos]# docker build -t "yun3-copy5" .
[+] Building 0.1s (7/7) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 94B 0.0s
=> [internal] load metadata for docker.io/library/centos:latest 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 10.89kB 0.0s
=> CACHED [1/2] FROM docker.io/library/centos:latest 0.0s
=> [2/2] COPY ./luni* nginx.repo /home/ 0.0s
=> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:d4277a7b443afe5bc46923ee7beb05eef0364295 0.0s
=> => naming to docker.io/library/yun3-copy5 0.0s
[root@hmm yum3-centos]# docker run -ti yun3-copy5
[root@34cfdea289ae /]# cd /home/
[root@34cfdea289ae home]# ls
CHANGELOG.md babel.config.js nginx.repo src
LICENSE changelog-config.js package.json tsconfig.json
README.md docs pnpm-lock.yaml typings
__tests__ jest.config.ts rollup.config.js
[root@34cfdea289ae home]#
如果目的路径不以斜杠结尾,则它将被视为常规文件,源内容将被写入目录路径(简单来说就是会重命名)
如果目的路径不存在,则会与其路径中所有缺少的目录一起被创建。(简单来说就是,会自动创建路径)
ADD
实例
[root@hmm yum3-centos]# docker build -t 'yun3-add' .
[+] Building 0.2s (10/10) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 189B 0.0s
=> [internal] load metadata for docker.io/library/cento 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> CACHED [1/4] FROM docker.io/library/centos:latest 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 413.14kB 0.0s
=> http://mirrors.aliyun.com/repo/Centos-8.repo 0.1s
=> [2/4] ADD nginx.repo /etc/yum.repos.d/ 0.0s
=> [3/4] ADD http://mirrors.aliyun.com/repo/Centos-8.re 0.0s
=> [4/4] ADD lunisolar-main.zip /home/yun3/ 0.0s
=> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:eb713753ec15edfd95fe4feba80d 0.0s
=> => naming to docker.io/library/yun3-add 0.0s
[root@hmm yum3-centos]# docker run -ti yun3-add
[root@ec222ba8717e /]# ls
bin etc lib lost+found mnt proc run srv tmp var
dev home lib64 media opt root sbin sys usr
[root@ec222ba8717e /]# cd root/
[root@ec222ba8717e ~]# ls
Centos-8.repo anaconda-post.log
anaconda-ks.cfg original-ks.cfg
[root@ec222ba8717e ~]# cd /home/
[root@ec222ba8717e home]# ls
yun3
[root@ec222ba8717e home]# cd yun3/
[root@ec222ba8717e yun3]# ls
lunisolar-main.zip
[root@ec222ba8717e yun3]# cd /etc/yum.repos.d/
[root@ec222ba8717e yum.repos.d]# ls
CentOS-Linux-AppStream.repo
CentOS-Linux-BaseOS.repo
CentOS-Linux-ContinuousRelease.repo
CentOS-Linux-Debuginfo.repo
CentOS-Linux-Devel.repo
CentOS-Linux-Extras.repo
CentOS-Linux-FastTrack.repo
CentOS-Linux-HighAvailability.repo
CentOS-Linux-Media.repo
CentOS-Linux-Plus.repo
CentOS-Linux-PowerTools.repo
CentOS-Linux-Sources.repo
nginx.repo
entrypoint
实例
- 只有cmd
- 只有entrypoint
[root@hmm yum3]# docker build -t "entry-test-3" .
[+] Building 0.1s (11/11) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 385B 0.0s
=> [internal] load metadata for docker.io/library/c 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [1/5] FROM docker.io/library/centos:latest 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 28B 0.0s
=> http://mirrors.aliyun.com/repo/Centos-8.repo 0.1s
=> CACHED [2/5] RUN rm -rf /etc/yum.repos.d/*.repo 0.0s
=> CACHED [3/5] ADD http://mirrors.aliyun.com/repo/ 0.0s
=> CACHED [4/5] ADD test.py /root/ 0.0s
=> CACHED [5/5] RUN yum install -y python38 0.0s
=> exporting to image 0.1s
=> => exporting layers 0.0s
=> => writing image sha256:351421498ec6d823e1c82e8e 0.1s
=> => naming to docker.io/library/entry-test-3 0.0s
[root@hmm yum3]# docker run -ti entry-test-3
/
['bin', 'dev', 'etc', 'home', 'lib', 'lib64', 'lost+found', 'media', 'mnt', 'opt', 'proc', 'root', 'run', 'sbin', 'srv', 'sys', 'tmp', 'usr', 'var', 'yun3-777', '.dockerenv']
[root@hmm yum3]# cat Dockerfile
FROM centos
RUN rm -rf /etc/yum.repos.d/*.repo
ADD http://mirrors.aliyun.com/repo/Centos-8.repo /etc/yum.repos.d/
ADD test.py /root/
RUN yum install -y python38
# 启动容器默认执行的脚本或者命令
ENTRYPOINT ["/usr/bin/python3","/root/test.py"]
#CMD ["/bin/bash"] # 单独只有cmd指令:容器启动的时默认执行的命令
[root@hmm yum3]# cat test.py
# -*- coding:utf-8 -*-
import os
#打印当前路径
print(os.getcwd())
os.mkdir('yun3-777')
print(os.listdir('.'))
让python程序接受打印命令行传参数
没修改了一个程序,需要重新构建一个镜像
[root@hmm yum3]# docker rmi -f c065771342b6 #删除之前的镜像,更加清晰
Untagged: entry-test3:latest
Deleted: sha256:c065771342b650d7fb499b007086de7c7c1d2286283ff9f48351478fb3b6d809
[root@hmm yum3]# docker build -t 'entry-test3.1' .
[+] Building 22.0s (11/11) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 385B 0.0s
=> [internal] load metadata for docker.io/library/c 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [1/5] FROM docker.io/library/centos:latest 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 173B 0.0s
=> http://mirrors.aliyun.com/repo/Centos-8.repo 0.0s
=> CACHED [2/5] RUN rm -rf /etc/yum.repos.d/*.repo 0.0s
=> CACHED [3/5] ADD http://mirrors.aliyun.com/repo/ 0.0s
=> [4/5] ADD test.py /root/ 0.0s
=> [5/5] RUN yum install -y python38 21.6s
=> exporting to image 0.4s
=> => exporting layers 0.4s
=> => writing image sha256:7e6bc7bbfa684aedf1f5af1d 0.0s
=> => naming to docker.io/library/entry-test3.1 0.0s
[root@hmm yum3]# docker run -ti entry-test3.1
/
['bin', 'dev', 'etc', 'home', 'lib', 'lib64', 'lost+found', 'media', 'mnt', 'opt', 'proc', 'root', 'run', 'sbin', 'srv', 'sys', 'tmp', 'usr', 'var', 'yun3-777', '.dockerenv']
['/root/test.py']
[root@hmm yum3]# docker run -ti entry-test3.1 hmmmmm
/
['bin', 'dev', 'etc', 'home', 'lib', 'lib64', 'lost+found', 'media', 'mnt', 'opt', 'proc', 'root', 'run', 'sbin', 'srv', 'sys', 'tmp', 'usr', 'var', 'yun3-777', '.dockerenv']
['/root/test.py', 'hmmmmm'] #传参数成功
- 既有cmd又有entrypoint
两个指令一起使用的时候,entrypoint指令作为可执行文件或者命令,cmd为entrypoint提供默认参数,docker run 指定命令可替换cmd默认参数
[root@hmm yum3]# docker build -t "entry-cmd-test" .
[+] Building 0.1s (11/11) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 385B 0.0s
=> [internal] load metadata for docker.io/library/c 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [1/5] FROM docker.io/library/centos:latest 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 29B 0.0s
=> http://mirrors.aliyun.com/repo/Centos-8.repo 0.0s
=> CACHED [2/5] RUN rm -rf /etc/yum.repos.d/*.repo 0.0s
=> CACHED [3/5] ADD http://mirrors.aliyun.com/repo/ 0.0s
=> CACHED [4/5] ADD test.py /root/ 0.0s
=> CACHED [5/5] RUN yum install -y python38 0.0s
=> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:e2f1cde9ca8c1667c019eb4a 0.0s
=> => naming to docker.io/library/entry-cmd-test 0.0s
[root@hmm yum3]# docker run -ti entry-cmd-test
/
['bin', 'dev', 'etc', 'home', 'lib', 'lib64', 'lost+found', 'media', 'mnt', 'opt', 'proc', 'root', 'run', 'sbin', 'srv', 'sys', 'tmp', 'usr', 'var', 'yun3-777', '.dockerenv']
['/root/test.py', '/bin/bash'#此处为cmd传入的默认参数]
[root@hmm yum3]# docker run -ti entry-cmd-test yun3-hmmm
/
['bin', 'dev', 'etc', 'home', 'lib', 'lib64', 'lost+found', 'media', 'mnt', 'opt', 'proc', 'root', 'run', 'sbin', 'srv', 'sys', 'tmp', 'usr', 'var', 'yun3-777', '.dockerenv']
['/root/test.py', 'yun3-hmmm'#此处为python接收到传入的参数,覆盖率;了cmd]
[root@hmm yum3]#
VOLUME(创建挂载点)
WORKDIR(配置工作目录)
[root@hmm yum3]# docker build -t "work-test" .
[+] Building 23.1s (12/12) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 405B 0.0s
=> [internal] load metadata for docker.io/library/c 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> CACHED [1/6] FROM docker.io/library/centos:lates 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 29B 0.0s
=> CACHED http://mirrors.aliyun.com/repo/Centos-8.r 0.1s
=> [2/6] WORKDIR /usr/local/ 0.0s
=> [3/6] RUN rm -rf /etc/yum.repos.d/*.repo 0.1s
=> [4/6] ADD http://mirrors.aliyun.com/repo/Centos- 0.0s
=> [5/6] ADD test.py /root/ 0.0s
=> [6/6] RUN yum install -y python38 22.6s
=> exporting to image 0.4s
=> => exporting layers 0.4s
=> => writing image sha256:b1064a2ef4c3a4c5fe8afe22 0.0s
=> => naming to docker.io/library/work-test 0.0s
[root@hmm yum3]# docker run -ti --entrypoint '/bin/bash' work-test
# --entrypoint 覆盖配置文件中的entrypoint?还是指定entrypoint参数
[root@962f735c9bdc local]# pwd
/usr/local #工作目录切换成功
[root@962f735c9bdc local]#
其他指令
- USER
- ARG
- SHEL
docker构建镜像——Dockerfile的更多相关文章
- docker 构建镜像 centos7 nginx php
#docker 构建镜像(Dockerfile) centos 7.4.1078镜像制作 nginx镜像制作(以前面centos7镜像为基础) Nginx+php镜像制作 更多操作实例,查看git里的 ...
- Docker 构建镜像
Docker 构建镜像 1.首先,在项目的根目录下,新建一个文本文件.dockerignore,写入下面的内容. 下面三行代码表示: 1.这三个路径要排除,不要打包进入 image 文件. 2.如果你 ...
- Geoserver+Openlayers+MySQL设计思想,GeoServer服务器搭建(Docker构建镜像)
Geoserver+Openlayers+MySQL设计思想,GeoServer服务器搭建(Docker构建镜像) 一.geoserver+openlayers+mysql主要设计思想 1.1 Geo ...
- docker构建镜像 (3)
使用Dockerfile构建镜像 Dockerfile使用DSL(Domain Specific Language)来构建一个Docker镜像,只要编辑好了Dockerfile文件,就可以使用dock ...
- docker构建镜像
Docker 提供了两种构建镜像的方法: docker commit 命令Dockerfile 构建文件 示例: Dockerfile FROM golang:1.7.5 #基础镜像 RUN apt- ...
- Docker构建镜像踩坑日记
从Github上拉取python项目后,运行dockerfile构建镜像失败,一步步查找原因 主要原因就是国内下载各种依赖超时,以下提供pip.apt.pipenv镜像解决方案 pip更换国内镜像 这 ...
- 关于docker构建镜像
今天正好看到这一块了,记录一下,希望可以帮助到大家. 构建Dockerfile 先来看一个示例: --------------------------------------------------- ...
- Docker构建镜像过于缓慢解决-----Docker构建服务之部署和备份jekyll网站
参考原文链接:https://www.jianshu.com/p/e6b7e68f2ba7 来自<第一本Docker书>,我觉得很有趣,就记录一下 准备国内ubuntu镜像 每次构建Ubu ...
- Docker容器学习梳理 - Dockerfile构建镜像
在Docker的运用中,从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低.所以就需要一 种文件或脚本,我们把想执行的操作以命令的方式写入其 ...
- Docker镜像构建之Dockerfile
在 Docker 中构建镜像最常用的方式就是使用 Dockerfile.Dockerfile 是一个用来构建镜像的文本文件. 官方文档:https://docs.docker.com/engine/r ...
随机推荐
- 重新整理数据结构与算法(c#)—— 平衡二叉树[二十三]
前言 因为有些树是这样子的: 这样子的树有个坏处就是查询效率低,因为左边只有一层,而右边有3层,这就说明如果查找一个数字大于根元素的数字,那么查询判断就更多. 解决方法就是降低两边的层数差距: 变成这 ...
- python性能测试,请求QPS测试
QPS = (1000ms/平均响应时间ms)*服务并行数量 #!/user/bin/env python #coding=utf-8 import requests import datetime ...
- 顺通家用电器生产工厂ERP管理系统
顺通家用电器生产工厂ERP管理系统是一款面向中小制造企业,以智能制造与精益管理为核心的一体化管理软件,符合行业特性的管理流程,与经营特征,形成行业化管理应用软件,为企业提供各方面信息化的管理应用与支持 ...
- 手把手教你PolarDB-X中的表设计——用户表
简介: 本系列旨在描述一个具体的业务场景,给出建表的例子,帮助大家更好的使用PolarDB-X.本期的主题是:用户表. 本系列旨在描述一个具体的业务场景,给出建表的例子,帮助大家更好的使用PolarD ...
- 应对 Job 场景,Serverless 如何帮助企业便捷上云
简介:函数计算作为事件驱动的全托管计算服务,其执行模式天生就与这类 Job 场景非常契合,对上述痛点进行了全方面的支持,助力"任务"的无服务器上云. 作者:冯一博 任务(Jobs) ...
- RT-Thead的启动流程
一.RT-Thread启动流程 由于RT-Thread文档中心已经将得很详细了,这里我就不过多描述,有需要的可以看RT-Thread 文档中心,启动流程如下图所示: 从图中可以看出RT-Thread是 ...
- 鸿蒙HarmonyOS实战-ArkUI事件(键鼠事件)
前言 键鼠事件是指在计算机操作中,用户通过键盘和鼠标来与计算机进行交互的行为.常见的键鼠事件包括按下键盘上的键.移动鼠标.点击鼠标左键或右键等等.键鼠事件可以触发许多不同的操作,比如在文本编辑器中输入 ...
- 请查收这份 6.3k star的 Java 攻城狮学习指南!
大家好,我是 Java陈序员. 自从一入 Java 开发的坑,可谓是每天过得神清气爽(水深火热). 每天不是被项目经理赶进度,就是被测试小姐姐追着改 Bug!都没有时间好好学习(摸鱼)了! 今天给大家 ...
- 检索增强生成RAG-书生浦语大模型实战营学习笔记3&大语言模型8
大语言模型学习-8.检索增强生成RAG 书生浦语大模型实战营学习笔记3 本文主要涉及检索增强生成相关基础知识,也包括第二期实战营的第3课的内容 动机 当今大语言模型存在幻觉现象,即大模型会无意义或不忠 ...
- 07 mapping索引操作
目录 版本 获取健康值 获取所有索引的信息 创建索引 1. 自动推导 2. 自定义 判断索引是否存在 新增字段 新增记录 查询记录 获取mapping信息 删除索引 添加别名 查看别名 索引备份数据 ...