环境

CentOS Linux release 7.6.1810 (Core)
Docker version 20.10.12, build e91ed57

Docker

/var/lib/docker:相关文件几乎都在此目录下
/var/run/docker
/etc/docker
/run/docker.sock
/var/lib/containerd
/run/containerd
/opt/containerd

Docker 命令帮助非常完善。多使用命令 --help 获取相关命令的帮助文档。

以下均为个人常用示例。

运行操作相关

docker run
-it:命令交互模式运行容器。参数 i(开启命令输入) 和 t(模拟 tty) 通常连用。

-d:后台运行容器。

-v 本机目录:容器目录:挂载目录,挂载本机目录到容器目录,约等于Linux mount。多个目录,使用多个 -v。

--mount 卷参数:挂载卷。
通常与创建卷一起用于需读写的配置文件。
例如:--mount source=卷名称,target=容器目录

-p 本机端口:容器端口:端口映射。多个端口,使用多个 -p。

进入容器:docker exec -it 容器ID /bin/bash
备份数据库:docker exec -i 容器ID mysqldump -u帐号 -p密码 --databases 数据库 > 本机存储路径.sql
复制容器问文件到本机:docker cp 容器ID:绝对路径 本机路径(支持相对路径)
复制本机当前文件到容器:docker cp 本机路径(支持相对路径) 容器ID:绝对路径

container 容器相关

docker ps:列出正在运行的容器,等于 docker container ls。

docker ps -a:列出所有容器概况,包括未运行的。

docker ps -aq:列出所有容器ID,包括未运行的。

docker stop $(docker ps -q):停止所有容器。

docker rm $(docker ps -aq |grep -v 容器ID):除单个容器外,删除其他所有容器。谨慎使用!!!

docker rm $(docker ps -aq |grep -vE 正则表达式):除正则表达式匹配的容器外,删除其他所有容器。谨慎使用!!!

docker rm -vf $(docker ps -aq):删除所有容器,包括容器相关的卷。谨慎使用!!!

Image 镜像相关

docker images:列出镜像,等于 docker image ls。

docker images -a:列出所有镜像,包括中间镜像。

docker images -q:列出镜像ID。

docker images -qa:列出所有镜像ID,包括中间镜像。

docker history 镜像ID:查看镜像构建历史。

docker rmi -f $(docker images -aq):删除所有镜像,包括中间镜像。谨慎使用!!!

Volume

docker volume create 卷名称:创建卷

docker volume ls:列出卷

docker volume ls -q:列出卷ID

指定卷参数并创建卷,通常用于存放容器中的需进行写操作配置文件。
docker volume create --name 卷名称 --opt type=none --opt device=本地目录 --opt o=bind
docker volume create --driver local --name 卷名称 --opt type=none --opt device=本地目录 --opt o=uid=root,gid=root --opt o=bind

DockerFile

VOLUME 匿名卷

不建议使用。建议均提前告知用户需挂载的卷。
定义匿名卷后,虽然在用户未手动挂载的情况下,虽然往容器中写入的相关数据不会丢失。

但是,仅对使用者来说,非常不友好。
1 容易造成使用者不知情。
2 每次运行容器自动挂载匿名卷,会产生非常多的匿名卷,占用硬盘。

Docker-Compose

更新中...

参考

yeasy.gitbook.io/docker_practice/
stackoverflow.com/questions/44785585/docker-how-to-delete-all-local-docker-images
stackoverflow.com/questions/39496564/docker-volume-custom-mount-point

最后修改:2022 年 01 月 11 日 03 : 12 PM
如果觉得文章帮助了您,您可以随意赞赏。