本文参考:菜鸟教程--》docker
https://www.runoob.com/?s=docker&page=3
Docker commit 命令
| docker commit :从容器创建一个新的镜像。 |
| |
| 语法 |
| docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] |
| OPTIONS说明: |
| |
| -a :提交的镜像作者; |
| |
| -c :使用Dockerfile指令来创建镜像; |
| |
| -m :提交时的说明文字; |
| |
| -p :在commit时,将容器暂停。 |
| |
| 实例 |
| 将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息。 |
| |
| runoob@runoob:~$ docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1 |
| sha256:37af1236adef1544e8886be23010b66577647a40bc02c0885a6600b33ee28057 |
| runoob@runoob:~$ docker images mymysql:v1 |
| REPOSITORY TAG IMAGE ID CREATED SIZE |
| mymysql v1 37af1236adef 15 seconds ago 329 MB |
Docker rmi 命令
| docker rmi : 删除本地一个或多少镜像。 |
| |
| 语法 |
| docker rmi [OPTIONS] IMAGE [IMAGE...] |
| OPTIONS说明: |
| |
| -f :强制删除; |
| |
| --no-prune :不移除该镜像的过程镜像,默认移除; |
| |
| 实例 |
| 强制删除本地镜像runoob/ubuntu:v4。 |
| |
| root@runoob:~ |
| Untagged: runoob/ubuntu:v4 |
| Deleted: sha256:1c06aa18edee44230f93a90a7d88139235de12cd4c089d41eed8419b503072be |
| Deleted: sha256:85feb446e89a28d58ee7d80ea5ce367eebb7cec70f0ec18aa4faa874cbd97c73 |
Docker build 命令
| docker build 命令用于使用 Dockerfile 创建镜像。 |
| |
| 语法 |
| docker build [OPTIONS] PATH | URL | - |
| OPTIONS说明: |
| |
| --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指令的网络模式 |
| |
| 实例 |
| 使用当前目录的 Dockerfile 创建镜像,标签为 runoob/ubuntu:v1。 |
| |
| docker build -t runoob/ubuntu:v1 . |
| 使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像。 |
| |
| docker build github.com/creack/docker-firefox |
| 也可以通过 -f Dockerfile 文件的位置: |
| |
| $ docker build -f /path/to/a/Dockerfile . |
| 在 Docker 守护进程执行 Dockerfile 中的指令前,首先会对 Dockerfile 进行语法检查,有语法错误时会返回: |
| |
| $ docker build -t test/myapp . |
| Sending build context to Docker daemon 2.048 kB |
| Error response from daemon: Unknown instruction: RUNCMD |
Docker history 命令
| docker history : 查看指定镜像的创建历史。 |
| |
| 语法 |
| docker history [OPTIONS] IMAGE |
| OPTIONS说明: |
| |
| -H :以可读的格式打印镜像大小和日期,默认为true; |
| |
| --no-trunc :显示完整的提交记录; |
| |
| -q :仅列出提交记录ID。 |
| |
| 实例 |
| 查看本地镜像runoob/ubuntu:v3的创建历史。 |
| |
| root@runoob:~ |
| IMAGE CREATED CREATED BY SIZE COMMENT |
| 4e3b13c8a266 3 months ago /bin/sh -c |
| <missing> 3 months ago /bin/sh -c sed -i 's/^#\s*\(deb.*universe\)$/ 1.863 kB |
| <missing> 3 months ago /bin/sh -c set -xe && echo ' |
| <missing> 3 months ago /bin/sh -c |
Docker run 命令
| docker run :创建一个新的容器并运行一个命令 |
| |
| 语法 |
| docker run [OPTIONS] IMAGE [COMMAND] [ARG...] |
| OPTIONS说明: |
| |
| -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项; |
| |
| -d: 后台运行容器,并返回容器ID; |
| |
| -i: 以交互模式运行容器,通常与 -t 同时使用; |
| |
| -P: 随机端口映射,容器内部端口随机映射到主机的高端口 |
| |
| -p: 指定端口映射,格式为:主机(宿主)端口:容器端口 |
| |
| -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用; |
| |
| --name="nginx-lb": 为容器指定一个名称; |
| |
| --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致; |
| |
| --dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致; |
| |
| -h "mars": 指定容器的hostname; |
| |
| -e username="ritchie": 设置环境变量; |
| |
| --env-file=[]: 从指定文件读入环境变量; |
| |
| --cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行; |
| |
| -m :设置容器使用内存最大值; |
| |
| --net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型; |
| |
| --link=[]: 添加链接到另一个容器; |
| |
| --expose=[]: 开放一个端口或一组端口; |
| |
| 实例 |
| 使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。 |
| |
| docker run --name mynginx -d nginx:latest |
| 使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口。 |
| |
| docker run -P -d nginx:latest |
| 使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。 |
| |
| docker run -p 80:80 -v /data:/data -d nginx:latest |
| 绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。 |
| |
| $ docker run -p 127.0.0.1:80:8080/tcp ubuntu bash |
| 使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。 |
| |
| runoob@runoob:~$ docker run -it nginx:latest /bin/bash |
| root@b8573233d675:/ |
Docker ps 命令
| docker ps : 列出容器 |
| |
| 语法 |
| docker ps [OPTIONS] |
| OPTIONS说明: |
| |
| -a :显示所有的容器,包括未运行的。 |
| |
| -f :根据条件过滤显示的内容。 |
| |
| --format :指定返回值的模板文件。 |
| |
| -l :显示最近创建的容器。 |
| |
| -n :列出最近创建的n个容器。 |
| |
| --no-trunc :不截断输出。 |
| |
| -q :静默模式,只显示容器编号。 |
| |
| -s :显示总的文件大小。 |
| |
| 实例 |
| 列出所有在运行的容器信息。 |
| |
| runoob@runoob:~$ docker ps |
| CONTAINER ID IMAGE COMMAND ... PORTS NAMES |
| 09b93464c2f7 nginx:latest "nginx -g 'daemon off" ... 80/tcp, 443/tcp myrunoob |
| 96f7f14e99ab mysql:5.6 "docker-entrypoint.sh" ... 0.0.0.0:3306->3306/tcp mymysql |
| 列出最近创建的5个容器信息。 |
| |
| runoob@runoob:~$ docker ps -n 5 |
| CONTAINER ID IMAGE COMMAND CREATED |
| 09b93464c2f7 nginx:latest "nginx -g 'daemon off" 2 days ago ... |
| b8573233d675 nginx:latest "/bin/bash" 2 days ago ... |
| b1a0703e41e7 nginx:latest "nginx -g 'daemon off" 2 days ago ... |
| f46fb1dec520 5c6e1090e771 "/bin/sh -c 'set -x \t" 2 days ago ... |
| a63b4a5597de 860c279d2fec "bash" 2 days ago ... |
| 列出所有创建的容器ID。 |
| |
| runoob@runoob:~$ docker ps -a -q |
| 09b93464c2f7 |
| b8573233d675 |
| b1a0703e41e7 |
| f46fb1dec520 |
| a63b4a5597de |
| 6a4aa42e947b |
| de7bb36e7968 |
| 43a432b73776 |
| 664a8ab1a585 |
| ba52eb632bbd |
| ... |
Docker images 命令
| docker images : 列出本地镜像。 |
| |
| 语法 |
| docker images [OPTIONS] [REPOSITORY[:TAG]] |
| OPTIONS说明: |
| |
| -a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层); |
| |
| --digests :显示镜像的摘要信息; |
| |
| -f :显示满足条件的镜像; |
| |
| --format :指定返回值的模板文件; |
| |
| --no-trunc :显示完整的镜像信息; |
| |
| -q :只显示镜像ID。 |
| |
| 实例 |
| 查看本地镜像列表。 |
| |
| runoob@runoob:~$ docker images |
| REPOSITORY TAG IMAGE ID CREATED SIZE |
| mymysql v1 37af1236adef 5 minutes ago 329 MB |
| runoob/ubuntu v4 1c06aa18edee 2 days ago 142.1 MB |
| <none> <none> 5c6e1090e771 2 days ago 165.9 MB |
| httpd latest ed38aaffef30 11 days ago 195.1 MB |
| alpine latest 4e38e38c8ce0 2 weeks ago 4.799 MB |
| mongo 3.2 282fd552add6 3 weeks ago 336.1 MB |
| redis latest 4465e4bcad80 3 weeks ago 185.7 MB |
| php 5.6-fpm 025041cd3aa5 3 weeks ago 456.3 MB |
| python 3.5 045767ddf24a 3 weeks ago 684.1 MB |
| ... |
| 列出本地镜像中REPOSITORY为ubuntu的镜像列表。 |
| |
| root@runoob:~ |
| REPOSITORY TAG IMAGE ID CREATED SIZE |
| ubuntu 14.04 90d5884b1ee0 9 weeks ago 188 MB |
| ubuntu 15.10 4e3b13c8a266 3 months ago 136.3 MB |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)