基本命令
-
run
构建容器命令docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明:-
-a stdin
:指定输入输出内容类型,可选STDIN/STDOUT/STDERR -
-d
:后台运行容器,并返回容器id -
-i
:以交互模式运行容器,通常与-t
搭配 -
-p
:指定端口映射,格式为:宿主机端口:容器端口 -
-P
:端口随机映射 -
-t
:为容器分配一个伪输入终端,通常与-i
同时使用 -
--name="nginx-lib"
:为容器指定一个名称 -
dns 9.9.9.9
:为容器指定一个名称,默认和宿主机一致 -
dns--search example.com
:指定容器DNS搜索域名,默认和宿主机一致 -
-h
"hostname":指定容器的hostname -
-e username="hemei"
:设置环境变量 -
--env-file=[]
:从指定文件文件读入环境变量 -
--cpuset="0-2"
或者--cpuset="0,1,2"
:绑定容器到指定cpu运行 -
-m
:设置容器使用内存最大值 -
--net="bridge"
:指定容器的网络连接类型,支持bridge/host/none/container四种类型 -
--link=[]
:添加链接到另一个容器 -
--expose=[]
:开放一个端口或一组端口 -
--volume
或-v
绑定一个卷 -
--restart=always
:开机自启,或者=no
:stop后不重启
-
start
运行容器-
update
更新容器-
--restart=always
:开机自启 -
--restart=no
:不重新启动
-
stop
停止容器
Dockerfile
-
Dockerfile书写
- 第一行必须是
from
- 第一行必须是
-
本地
Dockerfile
构建镜像
docker build [选项] <上下文路径/URL/->
docker build -t nginx:v3 .
- 最后的这个
.
是指上下文目录,docker在对镜像打包的时候会把该上下文目录的文件打包交给Docker引擎以帮助打包镜像 -
docker build
是在服务端构建镜像 -
.dockerignore
文件是用来剔除不需要上传到服务端文件的 - 可以用
-f ../Dockerfile.php
指定某个文件作为Dockerfile
- 最后的这个
-
Git repo 进行构建
- url
# $env:DOCKER_BUILDKIT=0 # export DOCKER_BUILDKIT=0 $ docker build -t hello-world https://github.com/docker-library/hello-world.git#master:amd64/hello-world Step 1/3 : FROM scratch ---> Step 2/3 : COPY hello / ---> ac779757d46e Step 3/3 : CMD ["/hello"] ---> Running in d2a513a760ed Removing intermediate container d2a513a760ed ---> 038ad4142d2b Successfully built 038ad4142d2b
-
用给定的tar压缩包构建
docker build http://server/context.tar.gz`