Cheat Sheet速查表
跳转到主要内容

Docker 命令速查表

运维知识地图:领域、工具与工作流程

适用范围。 Docker Engine 命令行参考。容器 ID 需替换为实际值;不同镜像提供的 shell 不同,许多精简镜像可用 sh,也有镜像不包含 shell。清理对象前先用 docker system df 查看占用。

docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口

一般使用

在后台启动一个容器

docker run -d jenkins

启动一个交互式容器

docker run -it ubuntu bash

启动一个(在停止时自动删除)的容器

docker run --rm ubuntu bash

启动一个映射端口的容器

docker run -p 80:80 -d nginx

启动一个命名的容器

docker run --name mydb redis

启动一个停止的容器

docker start mydb

停止一个容器

docker stop mydb

启动一个容器并添加元数据

docker run -d --label app=web nginx:stable

Build Images

从当前目录下的dockerfile构建一个镜像

docker build --tag myimage .

强制重建一个镜像

docker build --no-cache .

将容器转换为镜像

docker commit c7337 myimage

删除所有未使用镜像

docker image prune

Debug

登陆一个正在运行的容器

docker exec -it c7337 sh

显示运行守护进程容器的活动日志

docker logs -f c7337

显示容器的暴露端口

docker port c7337

Volumes

创建一个本地卷

docker volume create --name myvol

在容器启动时挂载一个卷

docker run -v myvol:/data redis

摧毁一个卷

docker volume rm myvol

列出所有卷

docker volume ls

创建一个本地网络

docker network create mynet

在启动时将容器连接到网络

docker run -d --net mynet redis

将容器连接到指定网络

docker network connect mynet c7337

断开容器与网络的连接

docker network disconnect mynet c7337

容器管理

列出运行容器

docker ps

列出所有容器(包括运行中和停止的)

docker ps -a

检查容器的元数据

docker inspect c7337

列出本地所有可用镜像

docker images

删除所有停止的容器

docker container prune

列出所有带有特定标签的容器

docker ps --filter label=traefik.backend

查询正在运行中带有特定元数据的容器

docker inspect -f '{{ .NetworkSettings.IPAddress }}' c7337

说明

镜像名

redis, jenkins, nginx

容器名或者提交ID

mydb  #容器名 
c7337 #提交ID

官方参考