本小节,介绍docker的一些常用命令。
参考官方文档:
其中,比较常见的命令有:
1.常用命令
| 命令 | 说明 | 文档地址 |
| docker pull | 拉取镜像 | docker pull |
| docker push | 推送镜像到DockerRegistry | docker push |
| docker images | 查看本地镜像 | docker images |
| docker rmi | 删除本地镜像 | docker rmi |
| docker run | 创建并运行容器(不能重复创建) | docker run |
| docker stop | 停止指定容器 | docker stop |
| docker start | 启动指定容器 | docker start |
| docker restart | 重新启动容器 | docker restart |
| docker rm | 删除指定容器 | docs.docker.com |
| docker ps | 查看容器 | docker ps |
| docker logs | 查看容器运行日志 | docker logs |
| docker exec | 进入容器 | docker exec |
| docker save | 保存镜像到本地压缩文件 | docker save |
| docker load | 加载本地压缩文件到镜像 | docker load |
| docker inspect | 查看容器详细信息 | docker inspect |
| docker cp | 复制容器中的文件到磁盘 |
用一副图来表示这些命令的关系:
使用案例:
以mysql为例
1. 查看容器运行日志
docker logs mysql
2. 进入容器
docker exec -it mysql /bin/bash
3.保存镜像到本地压缩文件
--查看镜像
docker images
--保存镜像为压缩文件
docker save mysql:latest > mysql_latest.tar
4.加载本地压缩文件到镜像
docker load < mysql_latest.tar
--也可以使用 -i 指定压缩文件路径
docker load -i /path/to/mysql_latest.tar
5.查看容器详细信息
docker inspect mysql
6.复制容器中的文件到磁盘
docker cp mysql:/etc/nginx/nginx.conf ./nginx/conf/nginx.conf
2.网络常用命令
| 命令 | 说明 | 文档地址 |
| docker network create | 创建一个网络 | docker network create |
| docker network ls | 查看所有网络 | docs.docker.com |
| docker network rm | 删除指定网络 | docs.docker.com |
| docker network prune | 清除未使用的网络 | docs.docker.com |
| docker network connect | 使指定容器连接加入某网络 | docs.docker.com |
| docker network disconnect | 使指定容器连接离开某网络 | docker network disconnect |
| docker network inspect | 查看网络详细信息 | docker network inspect |
使用案例:
以mysql为例
1. 使指定容器连接加入某网络
docker network connect test-net mysql
3. 数据卷的相关命令
| 命令 | 说明 | 文档地址 |
| docker volume create | 创建数据卷 | docker volume create |
| docker volume ls | 查看所有数据卷 | docs.docker.com |
| docker volume rm | 删除指定数据卷 | docs.docker.com |
| docker volume inspect | 查看某个数据卷的详情 | docs.docker.com |
| docker volume prune | 清除数据卷 | docker volume prune |
4.Dcoker 常用别名
编辑文件
vi ~/.bashrc
添加如下别名:
alias dps='docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"'
alias dpsa='docker ps -a'
alias di='docker images'
alias dst='docker stop'
alias dss='docker start'
alias drm='docker rm'
alias drmi='docker rmi'
alias dc='docker-compose'
alias dexe='docker exec -it'
alias dlogs='docker logs'
重新加载配置文件
source ~/.bashrc
停止并删除容器
docker-compose -f **.yml down