Docker官网:https://docs.docker.com
阿里云镜像站:https://developer.aliyun.com/mirror/
1、查看版本号
docker version
2、查看详细信息
docker info
3、下载镜像
docker pull Image_Name[:TAG]
4、打包镜像
docker save -o New_FileName[:TAG] Image_Name[:TAG]
5、加载镜像
docker load --input FileName
6、查看已有镜像
docker images <-参数> [REPOSITORY[:TAG]]
参数详解:
-a:列出本地所有的镜像
–digests:显示镜像的摘要信息
-f:显示满足条件的镜像
–format:指定返回值的模板文件
–no-trunc:显示完整的镜像信息
-q:只显示镜像ID
7、删除已有镜像
docker rmi <-参数> Image_Name[:TAG]/Image_ID
参数详解:
-f:强制删除
--no-prune:不移除该镜像的过程镜像,默认删除
8、搜索镜像
docker search <-参数> Image_Name[:TAG]
参数详解:
–automated:只列出 automated build类型的镜像
–no-trunc:显示完整的镜像描述
-s:列出收藏数不小于指定值的镜像
9、创建容器
docker create Image_Name[:TAG]
10、启动容器
docker start Container_ID/Names
11、关闭容器
docker stop Container_ID/Names #常规关闭(先关闭里面的服务)
docker kill Container_ID/Names #强制关闭
12、重启容器
docker restart Container_ID/Names
13、运行容器
docker run <-参数> Image_Namge[:TAG]
参数详解:
-d:后台运行容器,返回容器ID
-i:以交互模式运行容器,通常与-t一起使用
-P:随机端口映射,容器内部端口随机映射到主机端口
-p:指定端口映射,主机port:容器port
-t:为容器重新分配一个终端,通常与-i一起使用
-nmae:为容器指定名称
-dns:指定容器使用的DNS服务器,默认和宿主机一样
-h:指定容器的hostname
-e:设置环境变量
-env-file:从指定文件导入环境变量
-cpuset:绑定容器到指定CPU运行,-cpuset="0-2"
-m:设置容器使用内存最大值
-net:指定容器的网络类型,-net="bridge"支持bridge\host\none\container
-link=[]:添加链接到另一个容器,-link=Container_Name
-expose[]:开放一个端口或一组端口
-volume,-v:绑定一个卷
14、删除容器
docker rm <-参数> Container_Name
参数详解:
-f:强制删除容器
-l:移除容器间的网络链接
-v:删除与容器关联的卷
15、进入容器
docker exec <-参数> Container_Name Command #推荐使用
docker attach <-参数> Container_Name
参数详解:
-d:后台运行
-i:退出不关闭容器
-t:重新分配一个终端
16、列出容器
docker ps <-参数>
参数详解:
-a:显示所有容器
-f:根据条件过滤显示的内容
-format:指定返回值的模板文件
-l:显示最近创建的容器
-n:列出最近创建的n个容器
-no-trunc:不截断输出
-q:静默模式,只显示容器编号
-s:显示总的文件大小
输出信息介绍
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS:容器状态。状态有7种:created(已创建)|restarting(重启中)|running(运行中)|removing(迁移中)|paused(暂停)|exited(停止)|dead(死亡)
PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
NAMES: 自动分配的容器名称。
17、获取容器/镜像的元组数据
docker inspect <-参数> Container_Name/Image_Name/ID
参数详解:
-s:显示总的文件大小
-f:指定返回值的模板文件
-type:未指定类型返回Json值
18、查看容器中进程信息
docker top <-参数> Container_Name
19、从容器中获取实时数据
docker events <-参数>
参数详解:
-f:根据条件过滤事件
--since:从指定的时间戳后显示所有事件
--until:流水时间显示到指定时间为止
20、获取容器的日志
docker logs <-参数> Container
参数详解:
-f:跟踪日志输出
-t:显示时间戳
--tail:仅列出最新N条容器日志
21、基于容器创建镜像
docker commit <-参数> Container [New_Image_Name[:TAG]]
参数 详解:
-a:提交的镜像作者
-c:使用Dockerfile指令来创建镜像
-m:提交时的说明信息
-p:在commit时,将容器暂停
22、宿主机与容器间数据的拷贝
docker cp <-参数> CONTAINER:SRC_PATH DEST_PATH #从容器拷贝到主机
docker cp <-参数> SRC_PATH CONTAINER:DEST_PATH #从主机拷贝到容器
参数详解:
-L:保持源目标中的链接
23、登录/退出镜像仓库
docker login <-参数> [server]
docker logout <-参数> [server]
参数详解:
-u:登录的用户名
-p:登录的密码
24、上传镜像
docker push <-参数> NAME[:TAG]
参数详解:
--disable-content-trust:忽略镜像的校验,默认开启
25、查找镜像
docker search <-参数> TERM #TERM为查找条件
参数详解:
--automated:只列出automated build类型的镜像
--no-trunc:显示完整的镜像描述
-s:列出收藏数不小于指定的镜像
TERM详解:
NAME:镜像仓库源的名称
DESCRIPTION:镜像的描述
OFFICIAL:是否为docker官方发布
stars:类似Github里面的star,表示点赞、喜欢的意思
AUTOMATED:自动构建
26、标记镜像
docker tag Image_Name New_Image_Name[:TAG]
27、使用DockerFile构建镜像
docker build <-参数> DockerFile_PATH/URL/-
参数详解:
–build-arg=[]:设置镜像创建时的变量
–cpu-shares:设置 cpu 使用权重
–cpu-period:限制 CPU CFS周期
–cpu-quota:限制 CPU CFS配额
–cpuset-cpus:指定使用的CPU id
–cpuset-mems:指定使用的内存 id
–disable-content-trust:忽略校验,默认开启
-f:指定要使用的Dockerfile路径
–force-rm:设置镜像过程中删除中间容器
–isolation:使用容器隔离技术
–label=[]:设置镜像使用的元数据
-m:设置内存最大值
–memory-swap:设置Swap的最大值为内存+swap,"-1"表示不限swap
–no-cache:创建镜像的过程不使用缓存
–pull:尝试去更新镜像的新版本
–quiet, -q:安静模式,成功后只输出镜像 ID
–rm:设置镜像成功后删除中间容器
–shm-size:设置/dev/shm的大小,默认值是64M
–ulimit:Ulimit配置
–tag, -t:镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签
–network:默认 default。在构建期间设置RUN指令的网络模式