docker相关命令
#启动 docker
sudo systemctl start docker
#停止 docker
sudo systemctl stop docker
#重启 docker
sudo systemctl restart docker
#设置开机启动
sudo systemctl enable docker
#查看 docker 状态
sudo systemctl status docker
#查看 docker 内容器的运行状态
sudo docker stats
#查看 docker 概要信息
sudo docker info
#查看 docker 帮助文档
sudo docker --help
1.镜像相关命令
docker images 查看镜像
docker search 搜索镜像
docker pull 镜像名称 拉取镜像
docker rmi 镜像ID 删除镜像
2.容器相关命令
2.1查看容器
docker ps 查看容器
docker ps -a 查看所有容器
docker ps -f status=exited 查看停止的容器
docker ps -1 查看最后一次运行的容器
docker ps -n 5 列出最近创建的 n 个容器
2.2创建与启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
-i :表示运行容器;
-t :表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个
伪终端;
–name :为创建的容器命名;
-v :表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个 -v
做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上;
-d :在 run 后面加上 -d 参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登
录容器,如果只加 -i -t 两个参数,创建容器后就会自动进容器里);
-p :表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个 -p 做多个端口
映射。
-P :随机使用宿主机的可用端口与容器内暴露的端口映射。
2.2.1创建并进入容器
docker run -it --name 容器名称 镜像名称:标签 /bin/bash
退出当前容器
exit
2.2.2. 守护式方式创建容器
docker run -di --name 容器名称 镜像名称:标签
登录守护式容器方式
docker exec -it 容器名称|容器ID /bin/bash
2.3. 停止与启动容器
#停止容器
docker stop 容器名称|容器ID
#启动容器
docker start 容器名称|容器ID
2.4. 文件拷贝
文件拷贝到容器内
docker cp 需要拷贝的文件或目录 容器名称:容器目录
文件从容器内拷贝出来
docker cp 容器名称:容器目录 需要拷贝的文件或目录
2.5目录挂载(容器数据卷操作)
#多目录挂载
docker run -di -v /宿主机目录:/容器目录 -v /宿主机目录2:/容器目录2 镜像名
docker run -di -v /mydata/docker_centos/data:/usr/local/data --name centos7-01 centos:7
2.5.1.匿名挂载
#匿名挂载
docker run -di -v /usr/local/data --name centos7-02 centos:7
#查看 volume 数据卷信息
docker volume ls
2.5.2. 具名挂载
#匿名挂载
docker run -di -v docker_centos_data:/usr/local/data --name centos7-03 centos:7
#查看 volume 数据卷信息
docker volume ls
2.5.3. 指定目录挂载
docker run -di -v /mydata/docker_centos/data:/usr/local/data --name centos7-01 centos:7
#多目录挂载
docker run -di -v /宿主机目录:/容器目录 -v /宿主机目录2:/容器目录2 镜像名
2.5.4. 查看目录挂载关系
docker volume inspect 数据卷名称
docker volume inspect docker_centos_data
2.5.5. 只读/读写
#只读。只能通过修改宿主机内容实现对容器的数据管理。
docker run -it -v /宿主机目录:/容器目录:ro 镜像名
#读写,默认。宿主机和容器可以双向操作数据。
docker run -it -v /宿主机目录:/容器目录:rw 镜像名
2.5.6. volumes-from(继承)
#容器 centos7-01 指定目录挂载
docker run -di -v /mydata/docker_centos/data:/usr/local/data --name centos7-01 centos:7
#容器 centos7-04 和 centos7-05 相当于继承 centos7-01 容器的挂载目录
docker run -di --volumes-from centos7-01:ro --name centos7-04 centos:7
docker run -di --volumes-from centos7-01:rw --name centos7-05 centos:7
2.6. 查看容器 IP 地址
docker inspect 容器名称|容器ID
docker inspect --format=’{{.NetworkSettings.IPAddress}}’ 容器名称|容器ID
2.7. 删除容器
#删除指定容器
docker rm 容器名称|容器ID
#删除多个容器
docker rm 容器名称|容器ID 容器名称|容器ID