一、常用dokcer命令汇总
docker常用命令结构图如下:

docker命令结构图.jpg
二、docker镜像相关命令
- 列出已安装的镜像:
docker images
//或者
docker image ls
- 保存已安装的镜像:
docker save 镜像名:tag -o 镜像名.tar
//或者
docker save 镜像名:tag > 镜像名.tar
- 从本地包安装镜像:
docker load -i 镜像名.tar
//或者
docker load < 镜像名.tar
- 获取镜像的详细信息:
docker inspect 镜像名:tag //返回json格式的数据;
docker inspect -f {{".Size"}} 镜像名:tag //返回数据中指定的某一项内容;
- 删除镜像:
dokcer rmi 镜像名:tag
//或者
docker image rm 镜像名:tag
//加 -f 或者 -force 强制删除镜像;
//加 -no-prune 不要删除未带标签的父镜像;
- 清理残存的、没有使用的镜像文件:
docker image prune
#加 -f 或者 -force 强行删除文件,无需弹出确认;
#加 -a 或者 -all 删除所有没有用的镜像,不仅仅是临时文件;
三、docker容器相关命令
- 创建容器:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
// -i, --interactive=false: 以交互模式运行容器,通常与 -t 同时使用;
// -t, --tty=false: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
// -d, --detach=false: 后台运行容器,并返回容器ID;
// -p, --publish=[]: 指定端口映射,格式为:主机(宿主)端口:容器端口;
// --name="容器名": 为容器指定一个名称;
// -h , --hostname="host名": 指定容器的hostname;
// -e , --env=[]: 设置环境变量;
// --net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
// -v, --volume : 绑定一个卷;
// --privileged=false: 指定容器是否为特权容器,特权容器拥有所有的capabilities;
// --restart=no:指定容器停止后的重启策略;
// no:容器退出时不重启;
// on-failure:容器故障退出(返回值非零)时重启;
// always:容器退出时总是重启(一般选择此参数);
// --rm=false: 指定容器停止后自动删除容器,不能以docker run -d启动的容器;
eg:创建mysql容器
docker run -p 3306:3306 --name mysql \
-v /home/mysql/conf:/etc/mysql \
-v /home/mysql/logs:/var/log/mysql \
-v /home/mysql/data:/var/lib/mysql \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=root密码 \
-d mysql:5.7
- 获取容器日志:
docker logs [OPTIONS] CONTAINER
// -f: 跟踪日志输出;
// --tail:仅列出最新N条容器日志;
- 删除容器:
docker rm [OPTIONS] CONTAINER [CONTAINER...]
// -f:通过 SIGKILL 信号强制删除一个运行中的容器;
// -l:移除容器间的网络连接,而非容器本身;
// -v:删除与容器关联的卷;
- 列出容器:
docker ps [OPTIONS]
// -a:显示所有的容器,包括未运行的;
// -q:只显示容器编号;
- 启动、停止、重启容器:
docker start CONTAINER //启动一个或多个已经被停止的容器
docker stop CONTAINER //停止一个运行中的容器
docker restart CONTAINER //重启容器
- 进入容器:
docker exec -it CONTAINER bash
//或者
docker exec -it CONTAINER /bin/bash
//或者
docker exec -it CONTAINER sh
- 获取容器元数据:
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
// -f:指定返回值的模板文件
// -s:显示总的文件大小
// --type:为指定类型返回JSON
- 复制文件:
//宿主机文件复制到容器内
docker cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH
//容器内文件复制到宿主机
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
// -L:保持源目标中的链接
- 清理数据卷:
docker volume prune
ps:如果安装docker时忘记设置docker镜像仓库地址,则需要在/etc/docker目录下新增或者修改daemon.json文件,样例文件如下:
{
"registry-mirrors": ["https://kuamavit.mirror.aliyuncs.com", "https://registry.docker-cn.com", "https://docker.mirrors.ustc.edu.cn"],
"max-concurrent-downloads": 10,
"storage-driver": "overlay2",
"graph": "/data/docker",
"log-driver": "json-file",
"log-level": "warn",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
然后保存退出,重启docker
systemctl restart docker
参考文章