一、docker帮助启动类命令
1.1 启动docker
systemctl start docker
1.2 关闭docker
systemctl stop docker
1.3 重启docker
systemctl restart docker
1.4 查看docker状态
systemctl status docker
1.5 开机自启动docker
systemctl enable docker --加入开机启动中
systemctl disable docker --不加入开机启动中
1.6 查看docker概要信息
docker info
二、docker镜像命令
2.1 列出本机的镜像
docker images
docker images -q --只显示镜像id
2.2 搜索镜像
docker search 镜像名称
docker search --limit 5 redis --搜索redis镜像排名靠前的5个
2.3 拉取镜像
docker pull 镜像名称 --默认是最新版本的镜像
docker pull 镜像名称:版本号 --拉取固定版本的镜像
2.4 删除镜像
docker rmi -f 镜像名称/镜像id
docker rmi -f $(docker images -q) --删除全部镜像
2.5 查看镜像/容器/数据卷占用的空间
docker system df
三、docker容器命令
3.1 容器查看
docker ps 参数
参数选项:
-a:列出当前所有正在运行的容器+历史运行过的容器
-l:列出最近创建的容器
-n:显示最近n个创建的容器
-q:静默模式,只显示容器编号
3.2 启动容器
docker run 参数 image 命令
参数:
--name="容器名字" 给容器指定一个名称
-d:后台运行容器并返回容器id,也即启动守护式容器(后台运行);
-i:以交互模式运行容器,通常与-t同时使用;
-t:为容器重新分配一个伪终端,通常与-i同时使用,也即启动交互式容器(前台有伪终端,等待交互);
-p:指定端口映射,小写p
-P:随机端口映射,大写P
3.3 退出容器
exit退出容器,全部退出
ctrl+p+q退出容器,容器不会停止,只是当前伪终端界面关闭
3.4 停止容器
--杀掉容器后可以再次启动
docker stop 容器id/容器name
docker kill 容器id/容器name --强制删除
--删除容器后无法再重新启动
docker rm 容器id/容器name --删除容器(理性删除,删除容器前需要将容器停止,删除后无法再重新启动容器)
docker rm -f 容器id/容器name --强制删除容器(不需要停止容器)
--删除多个容器
docker rm -f $(docker ps -qa)
docker ps -qa |xargs docker rm -f
四、重要命令
note:容器后台启动有个弊端,如果启动不使用,会自动进行退出,如下图ubuntu,虽然启动时返回有id但是docker ps时未能看见容器信息
4.1 容器日志查看
docker logs 容器id/容器name
4.2 容器内运行进程
docker top 容器id/容器name
4.3 容器内部细节
docker inspect 容器id/容器name
4.4 进入正在运行的容器
1. docker exec -it 容器id/容器name /bin/bash
2. docker attach 容器id/容器name
区别:
exec是在容器中打开新的伪终端,并且可以启动新的进程,不会进入之前容器启动命令的终端,用exit退出只会退出通过exec进来
的伪终端,不会退出之前启动的终端,所以容器不会停止。
attach是进入之前容器启动的终端,未启动新的进程。用exit退出的话,会导致容器停止。
平时测试过程中, 像mysql等基础服务那样需要随系统启动而启动
可以通过命令
--restart=always
1开启自启
1.1, 在部署时设置启动
docker run --restart=always -p 6379:6379 --name my_redis -v /home/data/redis/redis.conf:/etc/redis/redis.conf -v /home/data/redis/data:/data -d redis:6.0 redis-server /etc/redis/redis.conf --appendonly yes
1.2, 修改容器参数, 容器已经创建好的情况下
如果创建时未指定 --restart=always,可通过update 命令设置
docker update --restart=always 容器ID(或者容器名)
docker update --restart=always cfcd74b337ac
2, 关闭自启
2.1 对某一个容器关闭自启动:
docker update --restart=no 容器ID或者容器名称
docker update --restart=no <CONTAINER ID>
docker update --restart=no cfa7cfd0a41b
2.2 取消所有自启动,命令如下:
docker update --restart=no $(docker ps -q)