常用命令
管理命令
| 管理命令 | 说明 |
|---|---|
| builder | 管理构建 |
| config | 管理配置 |
| container | 管理容器 |
| context | 管理上下文 |
| engine | 管理引擎 |
| image | 管理镜像 |
| network | 管理网络 |
| node | 管理 Swarm 节点 |
| plugin | 管理插件 |
| secret | 管理 Docker secrets |
| service | 管理服务 |
| stack | 管理 Docker stacks |
| swarm | 管理 Swarm 集群 |
| system | 查看系统信息 |
| trust | 管理 Docker trust |
| volume | 管理卷 |
普通命令
容器生命周期管理
| 命令 | 说明 |
|---|---|
| run | 创建一个新的容器并运行一个命令 |
| start | 启动容器 |
| stop | 停止容器 |
| restart | 重启容器 |
| kill | kill 运行中的容器 |
| rm | 删除容器 |
| pause | 暂停一个或多个容器中的所有进程 |
| unpause | 恢复容器中所有的进程 |
| create | 创建一个新容器 |
| exec | 在正在运行的容器中运行命令 |
容器操作
| 命令 | 说明 |
|---|---|
| ps | 查看容器列表 |
| inspect | 返回 Docker 对象的低级信息 |
| top | 展示一个容器中运行的进程 |
| attach | 进入一个运行的容器 |
| events | 从服务器获取实时事件 |
| logs | 获取一个容器的日志 |
| wait | 阻塞直到容器停止,然后打印退出代码 |
| export | 将容器的文件系统导出为 tar 存档 |
| port | 查看端口映射或容器的特定映射列表 |
| stats | 实时显示容器资源使用情况的统计信息 |
| update | 更新容器配置 |
容器 rootfs 命令
| 命令 | 说明 |
|---|---|
| commit | 从容器变更记录中创建一个镜像 |
| cp | 在容器和宿主机文件系统之间拷贝文件 |
| diff | 检查对容器文件系统上的文件或目录的更改 |
镜像仓库
| 命令 | 说明 |
|---|---|
| login | 登陆 Docker 镜像仓库 |
| logout | 登出 Docker 镜像仓库 |
| pull | 从镜像仓库拉取镜像 |
| push | 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库 |
| search | 从 Docker Hub 搜索镜像 |
本地镜像管理
| 命令 | 说明 |
|---|---|
| images | 查看镜像列表 |
| rmi | 删除镜像 |
| tag | 标记本地镜像,将其归入某一仓库 |
| build | 根据 DockerFile 构建镜像 |
| history | 显示镜像的构建历史记录 |
| save | 将指定镜像保存成 tar 归档文件 |
| load | 从存档或者 STDIN 加载镜像 |
| import | 从归档文件中创建镜像 |
| rename | 重命名容器 |
相关信息
| 命令 | 说明 |
|---|---|
| wait | |
| info | 显示系统范围的信息 |
| version | 显示 Docker 的版本信息 |
宿主机操作
端口和磁盘目录的映射
bash
# 将宿主机的 81 端口映射到容器的 80 端口
# 将宿主机的 /develop/data 卷 映射到容器的 /data 卷
$ docker run -i -t -p 81:80 -v /develop/data:/data centos /bin/bash
-p:映射端口号-v:磁盘目录映射
Docker 更改端口号映射:
运行中的容器无法映射新的端口号,也无法更改端口号映射,但可以通过两种方法解决。
- iptable 转发端口
bash
# 查看容器 IP
$ docker insepct 36afde543eb5 | grep IPAddress
> "IPAddress": "172.17.0.2"
# 将主机的 8081 端口映射到宿主机的 8080 端口
$ iptables -t nat -A DOCKER -p tcp --dport 8081 -j DNAT --to-destination 172.17.0.2:8080
- 先提交容器为镜像,再运行这个容器,同时指定新的端口映射
bash
# 提交容器为镜像
$ docker commit 9995ffa15f46 mycentos:0.1
# 停止旧的容器
$ docker stop 9995ffa15f46
# 重新从旧的镜像启动容器
$ docker run -i -t -p 8081:8080 mycentos:0.1
宿主机关于 Docker 的操作
bash
# 开启 docker
service docker start
# 重启
service docker restart
# 暂停
service docker stop
Docker Hub
创建和使用私有仓库
bash
#
docker run -eSEARCH_BACKEND=sqlalchemy-eSQLALCHEMY_INDEX_DATABASE=sqlite:tmp/docker-registry.db-d -name registry -p 5000:5000 registry
原版指令指引
按首字母大小写排列
attachAttach local standard input, output, and error streams to a running containerbuildBuild an image from a DockerfilecommitCreate a new image from a container's changescpCopy files/folders between a container and the local filesystemcreateCreate a new containerdiffInspect changes to files or directories on a container's filesystemeventsGet real time events from the serverexecRun a command in a running containerexportExport a container's filesystem as a tar archivehistoryShow the history of an imageimagesList imagesimportImport the contents from a tarball to create a filesystem imageinfoDisplay system-wide informationinspectReturn low-level information on Docker objectskillKill one or more running containersloadLoad an image from a tar archive or STDINloginLog in to a Docker registrylogoutLog out from a Docker registrylogsFetch the logs of a containerpausePause all processes within one or more containersportList port mappings or a specific mapping for the containerpsList containerspullPull an image or a repository from a registrypushPush an image or a repository to a registryrenameRename a containerrestartRestart one or more containersrmRemove one or more containersrmiRemove one or more imagesrunRun a command in a new containersaveSave one or more images to a tar archive (streamed to STDOUT by default)searchSearch the Docker Hub for imagesstartStart one or more stopped containersstatsDisplay a live stream of container(s) resource usage statisticsstopStop one or more running containerstagCreate a tag TARGET_IMAGE that refers to SOURCE_IMAGEtopDisplay the running processes of a containerunpauseUnpause all processes within one or more containersupdateUpdate configuration of one or more containersversionShow the Docker version informationwaitBlock until one or more containers stop, then print their exit codes