Docker命令大汇总
一、基本操作
1、docker image(镜像操作)
1)列出镜像
# 列出所有镜像
docker images
# 仅列出镜像的ID
docker images -q
2)搜索镜像
docker search mysql
3)下载镜像
docker pull nginx
4)删除镜像
docker rmi ImageID
5)查看镜像详细信息
docker inspect jenkins
2、docker container(容器操作)
1)运行容器
docker run image
docker run centos
# 启动容器并打开容器bash终端
docker run -it centos /bin/bash
docker run --name web -d -p 8080:80 -v $PWD:/usr/share/nginx/html nginx
参数:-i -t --name -d -p -P -v --net
docker exec -it mysql /bin/bash
参数说明:
-i 已交互模式运行容器,通常与-t同时使用
-t 为容器重新分配一个伪输入终端,通常与-i同时使用
--name 为容器指定一个名称
-d 后台运行容器,并返回容器ID
-p 代表端口映射,格式为 宿主机映射端口:容器运行端口
-P 随机端口映射,容器内部端口随机映射到主机的端口
-v 映射目录,将容器内的配置与数据文件夹,映射到宿主机目录
-e 代表添加环境变量
--net指定容器的网络连接类型,支持bridge/host/none/container四种类型
--volume 绑定一个卷
-h 指定容器的hostname
2)列出容器
# 列出当前运行的容器
docker ps
# 列出系统中所有的容器
docker ps -a
# 列出容器上运行的所有历史命令
sudo docker history centos
3)查看容器的进程和资源利用情况
# 查看容器的进程
docker top ContainerID
# 查看容器的资源利用情况
docker stats ContainerID
4)停止/开启容器
# 停止容器
docker stop ContainerID
# 开启容器
docker restart ContainerID
5)暂停/启动容器
# 暂停容器
docker pause web
# 启动容器
docker unpause web
6)删除容器
# 删除一个未运行的容器
docker rm web
# 删除一个正在运行的容器
docker rm -f web
二、网络操作
1、docker0
- 默认容器与宿主机之间的桥梁
2、网络类型
1)bridge
nat网络模型
虚拟交换机bridge
2)host
与宿主机共享网络--net=host
3)none
不配置网络--net=none
4)overlay
不同网络进行通信
5)与一个容器共享网络
--net=container:ContainerName
3、相关操作
1)查看
docker network ls
docker network inspect networkname
2)创建
docker network create --driver drivername name
docker network create -d bridge --subnet 172.16.100.0/24 one_network
三、volume数据卷
1、介绍
- 使用数据卷实现数据持久化
- 数据备份/数据共享
2、相关操作
1)创建
# 手动创建
docker volume create nginx11
# 运行容器的时候,如果不存在则自动创建
docker run --name nginx33 -d -v nginx22:/usr/share/nginx/html -p 8888:80 nginx:alpine
2)查看
# 列出所有的volume卷
docker volume ls
# 查询指定的volume卷的详细信息
docker volume inspect nginx22
3)挂载
docker run -v 宿主机目录:容器目录
docker run --name nginx33 -d -v nginx22:/usr/share/nginx/html -p 8888:80 nginx:alpine
4)删除
docker volume rm nginx11