文章目录
- 简介
- 一.docker参数详解
- 1.1 用法:docker[OPTIONS]COMMAND
- 1.2 管理命令:
- 1.3 Swarm命令:
- 1.4 命令:
- 1.5全局选项:
 
- 二.容器操作相关
- 2.1.查看容器列表
- 2.2.启动容器
- 2.3.停止容器
- 2.4.强制停止容器
- 2.5.重启容器
- 2.6.查看容器内进程
- 2.7.查看容器内细节
- 2.8.创建容器
- 2.9.删除容器
- 2.10.在容器中执行命令
- 2.11.进入容器终端
- 2.12.查看容器日志
- 2.13.从容器中拷贝文件出来
- 2.14.启动时端口映射
- 2.15.启动时目录映射
 
- 三.镜像类操作
- 3.1.查看镜像列表
- 3.2.登录镜像仓库
- 3.3.拉取镜像
- 3.4.删除镜像
- 3.5.重命名镜像名称
- 3.6.构件镜像
- 3.7.推送镜像
- 3.8.文件打包成镜像
- 3.9.将容器打包为镜像
- 3.10.导出容器为tar文件
 
- 四.docker容器网络模式
- 4.1.列出网络
- 4.2.创建网络
- 4.3.删除网络
- 4.4.列出网络
 
- 五.数据卷操作
- 5.1.创建数据卷
- 5.1.查看数据卷列表
- 5.1.查看数据卷信息
- 5.1.删除数据卷
- 数据卷的用法
 
 
 
简介
该文详细介绍了docker命令的一系列用法,对命中的各种参数进行解释,并通过一些实践来进行说明该命令的用法,可以复制对应的命令在docker环境下进行执行来辅助理解。
一.docker参数详解
1.1 用法:docker[OPTIONS]COMMAND
容器的自给自足的运行时
常用命令:
- run: 从映像创建并运行新容器
- exec: 在运行的容器中执行命令
- ps: 列出容器
- build: 从Dockerfile构建映像
- pull: 从注册表下载图像
- push: 将图像上载到注册表
- images: 列出图像
- login: 登录到注册表
- logout: 从注册表注销
- search: 搜索Docker Hub以获取图像
- version: 显示Docker版本信息
- info: 显示系统范围的信息
1.2 管理命令:
- buider: 管理生成
- buildx*: Docker buildx(Docker股份有限公司,版本0.11.2)
- compose*: Docker compose(Docker股份有限公司v2.21.0)
- container: 管理容器
- context: 管理上下文
- image: 管理图像
- manifest: 管理Docker映像清单和清单列表
- network: 管理网络
- plugin: 管理插件
- system: 管理Docker
- trust: 对Docker映像的信任
- volume: 管理卷
1.3 Swarm命令:
- swarm: 管理swarm
1.4 命令:
- attach: 将本地标准输入、输出和错误流附加到正在运行的容器
- commit: 根据容器的更改创建新映像
- cp: 在容器和本地文件系统之间复制文件/文件夹
- create: 创建一个新容器
- diff: 检查对容器文件系统上的文件或目录的更改
- events: 从服务器获取实时事件
- export: 将容器的文件系统导出为tar存档
- history: 显示图像的历史记录
- import: 从tarball导入内容以创建文件系统映像
- inspect: 返回Docker对象的低级信息
- kill: 杀死一个或多个正在运行的容器
- load: 从tar存档或STDIN加载图像
- logs: 获取容器的日志
- pause: 暂停一个或多个容器中的所有进程
- port: 列出容器的端口映射或特定映射
- rename: 重命名容器
- restart: 重新启动一个或多个容器
- rm: 移除一个或多个容器
- rmi: 删除一个或多个图像
- save: 将一个或多个图像保存到tar存档(默认情况下流式传输到STDOUT)
- start: 启动一个或多个停止的容器
- stats: 显示容器资源使用情况统计信息的实时流
- stop: 停止一个或多个正在运行的容器
- tag: 创建引用SOURCE_IMAGE的标记TARGET_IMAGE
- top: 显示容器的运行进程
- unpause: 取消暂停一个或多个容器中的所有进程
- update: 更新一个或多个容器的配置
- wait: 阻止,直到一个或多个容器停止,然后打印它们的退出代码
1.5全局选项:
- –config string: 客户端配置文件的位置(默认为“/root/.docker”)
- -c、 --context string: 用于连接到守护进程的上下文的名称(覆盖DOCKER_HOST env var和使用“DOCKER context use”设置的默认上下文)
- -D、 --debug: 启用调试模式
- -H、 --host list: 要连接到的主机列表守护程序套接字
- -l、 --log-level string: 设置日志级别(“debug”、“info”、“warn”、“error”、“fatal”)(默认为“info”)
- –tls: 使用tls;由–tlsverify暗示
- –tlscacert string: 仅由该CA签名的信任证书(默认为“/root/.docker/CA.pem”)
- –tlscert string: TLS证书文件的路径(默认为“/root/.docker/cert.pem”)
- –tlskey string: TLS密钥文件的路径(默认为“/root/.docker/key.pem”)
- –tlsverify: 使用TLS并验证远程
- -v、 --version: 打印版本信息并退出
 有关命令的详细信息,请运行“docker COMMAND–help”。
 有关如何使用Docker的更多帮助,请访问https://docs.docker.com/go/guides/
二.容器操作相关
将docker常规的操作命令及用法进行讲解
2.1.查看容器列表
docker ps -a
执行结果:
CONTAINER ID   IMAGE          COMMAND                   CREATED        STATUS                      PORTS      NAMES
839f9bd5740a   43c8f6906b1b   "/bin/sh"                 9 days ago     Exited (0) 9 days ago                  happy_lichterman
4dac51122f21   43c8f6906b1b   "/bin/sh"                 9 days ago     Exited (0) 9 days ago                  sleepy_bhabha
720c5afa8248   43c8f6906b1b   "-it /bin/sh"             9 days ago     Created                                admiring_ritchie
d0c00dd30afc   8820935a464f   "/bin/sh"                 2 weeks ago    Exited (0) 2 weeks ago                 jovial_moser
2.2.启动容器
docker start id其中id是列表中的第一列的CONTAINER ID
2.3.停止容器
docker stop id
2.4.强制停止容器
docker kill id
2.5.重启容器
docker restart id
2.6.查看容器内进程
docker top id
2.7.查看容器内细节
docker inspect id
2.8.创建容器
启动容器镜像id为imageId的镜像
docker run -it imageId /bin/sh
2.9.删除容器
docker delete id其中id是列表中的第一列的CONTAINER ID
2.10.在容器中执行命令
docker exec id ls /进入容器执行命令,其中id是列表中的第一列的CONTAINER ID
2.11.进入容器终端
docker exec -it id /bin/sh
2.12.查看容器日志
docker logs id
2.13.从容器中拷贝文件出来
docker cp id:/data/run.sh .将容器中的/data/run.sh 拷贝到宿主机的当前目录
执行结:
Successfully copied 4.1kB to /data/temp/.
2.14.启动时端口映射
docker run -p <宿主机端口>:<容器端口> <镜像名>
例如:docker run -p 8080:80 nginx或docker run -p 8080:80 imageId指定镜像的id
2.15.启动时目录映射
docker run -v <宿主机路径>:<容器内路径> <镜像名>
例如:docker run -v /data/mydocker:/home/docker nginx:latest
三.镜像类操作
3.1.查看镜像列表
docker images
执行结果:
REPOSITORY                                                                             TAG                         IMAGE ID       CREATED         SIZE
trafficserver-centos7-9.2.4                                                            latest                      76d191993f97   7 weeks ago     325MB
dokken/centos-stream-9                                                                 latest                      e26a4cdff267   7 weeks ago     308MB
<none>                                                                                 <none>                      4b2e08a52e68   7 weeks ago     264MB
<none>                                                                                 <none>                      f1fd2d2c8aa2   7 weeks ago     264MB
curlimages/curl                                                                        latest                      79009b90fb07   2 months ago    17.3MB
nginx                                                                                  latest                      92b11f67642b   4 months ago    187MB
alpine                                                                                 latest                      05455a08881e   4 months ago    7.38MB
<none>                                                                                 <none>                      de8caae3faba   5 months ago    77.5MB
memcached                                                                              latest                      4c07fb6d4e0a   5 months ago    106MB
3.2.登录镜像仓库
以阿里云镜像仓库为例:
sudo docker login --username=ops-admin@xxx pcxxx-registry.cn-shenzhen.cr.aliyuncs.com,然后再输入ops-admin帐号的密码。
3.3.拉取镜像
docker pull nginx:latest
3.4.删除镜像
docker rmi IMAGEIDIMAGEID 为镜像的ID可以从docker images中的第一列获取
3.5.重命名镜像名称
docker tag 《源镜像ID》 《新的镜像名称:tag》
例如:docker tag 9901b5599ad2 node:latest
3.6.构件镜像
docker build -t pcxxx-registry.cn-shenzhen.cr.aliyuncs.com/public/nginx:latest .注意后边有一个点,表示当前目录
3.7.推送镜像
docker push pcxxx-registry.cn-shenzhen.cr.aliyuncs.com/public/nginx:latest将构建好的镜像推送到镜像仓库
3.8.文件打包成镜像
docker import /path/to/yourimage.tar my-image:tag将/path/to/yourimage.tar的导入成my-image:tag的镜像
3.9.将容器打包为镜像
docker commit b111630b6567 pcxxx-registry.cn-shenzhen.cr.aliyuncs.com/public/nginx:latest将容器ID:b111630b6567 打包成镜像
3.10.导出容器为tar文件
docker save -o myimage.tar <image-id>将镜像导出为tar包
四.docker容器网络模式
4.1.列出网络
docker network ls
4.2.创建网络
docker network create --subnet "172.100.0.0/16" milvus创建一个网络名称为milvus 并划分网段是172.100.0.0/16
4.3.删除网络
docker network rm milvus删除网络milvus
4.4.列出网络
docker network ls
五.数据卷操作
5.1.创建数据卷
docker volume create mytest
5.1.查看数据卷列表
docker volume ls
5.1.查看数据卷信息
docker volume inspect mytest
执行结果:
[{"CreatedAt": "2024-06-17T14:29:18+08:00","Driver": "local","Labels": null,"Mountpoint": "/data/docker/volumes/mytest/_data","Name": "mytest","Options": null,"Scope": "local"}
]
5.1.删除数据卷
docker volume rm mytest
数据卷的用法
将创建的volume 故障到容器内
docker run -v mytest:/path/in/container imageId