docker常用命令
0、停掉并删除所有容器(谨慎操作)
docker stop $(docker ps -q) && docker rm $(docker ps -aq)
1、查看docker版本
docker version
2、docker帮助命令
docker --help
3、启动docker
systemctl start docker
4、重启docker
systemctl restart docker
5、关闭docker
systemctl stop docker
# 直接关闭docker可能会报错
# Warning: Stopping docker.service, but it can still be activated by:
# docker.socket
# 原因是Docker默认开启自动唤醒机制,即docker默认在关闭状态下被访问会自动唤醒Docker。
# 停用Docker自动唤醒机制:systemctl stop docker.socket
# 然后再停用Docker:systemctl stop docker
# 如果想要重新开启自动唤醒机制:systemctl start docker.socket,即可开启
6、docker设置随服务启动而自启动
systemctl enable docker
7、运行一个docker的容器
docker run -it -d --name 要取的别名 镜像名:Tag /bin/bash
# 例如:docker run -it -d --name mysql mysql:8.0.30 /bin/bash
# -it 表示 与容器进行交互式启动 -d 表示可后台运行容器 (守护式运行) --name 给要运行的容器 起的名字 /bin/bash 交互路径
8、查看正在运行容器列表
docker ps
9、查看所有容器(包括已经停止运行的)
docker ps -a
10、操作容器命令
#停止容器
docker stop 容器名/容器ID
--例如:docker stop mysql
--例如:docker stop c2f0c279a3b1(id可以不写全能区分开就行)
#重启容器
docker restart 容器ID/容器名
#启动容器
docker start 容器ID/容器名
#杀掉容器
docker kill 容器ID/容器名
#容器文件拷贝
docker cp 容器ID/名称:文件路径 要拷贝到外部的路径 | 要拷贝到外部的路径 容器ID/名称:文件路径
--从容器内 拷出
--docker cp 容器ID/名称: 容器内路径 容器外路径
--从外部 拷贝文件到容器内
--docker cp 容器外路径 容器ID/名称: 容器内路径
#启动时设置容器自动启动 -t -i -d
docker run -itd -name 容器id -p 主机(宿主)端口:容器端口 --restart=always -v 挂载
#已经启动的容器设置自动启动(启动只有又停止了也可以,只要容器还在就行)
docker update --restart=always 容器id
11、删除docker容器
#删除一个容器
docker rm -f 容器名/容器ID
#删除多个容器 空格隔开要删除的容器名或容器ID
docker rm -f 容器名/容器ID 容器名/容器ID 容器名/容器ID
#删除全部容器
docker rm -f $(docker ps -aq)
12、进入容器
#方式1推荐
docker exec -it 容器名/容器ID /bin/bash
#方式2
docker attach 容器名/容器ID
13、退出容器
#直接退出 如果启动容器时未添加-d(持久化运行容器) 执行此参数 容器会被关闭
exit
#优雅提出 无论启动容器时是否添加-d参数 执行此命令容器都不会被关闭
Ctrl + p + q
14、修改容器名
docker rename 容器ID/容器名 新容器名
15、查看docker工作目录
docker info | grep "Docker Root Dir"
16、查看docker磁盘占用总体情况
du -hs /var/lib/docker/
17、查看Docker的磁盘使用具体情况
docker system df
18、删除无用的容器和镜像
# 删除异常停止的容器
docker rm `docker ps -a | grep Exited | awk '{print $1}'`
# 删除名称或标签为none的镜像
docker rmi -f `docker images | grep '<none>' | awk '{print $3}'`
19、清除所有无容器使用的镜像
docker system prune -a
20、导出镜像
docker save 镜像ID/镜像名 -o 导出的镜像名.tar
21、导入镜像
docker load -i 要导入的镜像名.tar
22、查看容器信息
docker inspect 容器ID