docker version 查看版本信息
docker info 显示统信息,包括镜像和容器数
docker --help 帮助命令
docker images 查看镜像 (docker images -a 含中间镜像层)
docker rmi -f 镜像ID 删除单个镜像
docker rm 容器ID 删除单个容器
docker pull 镜像名:版本号 拉取镜像
docker run -it REPOSITORY /bin/bash 启动镜像
--name="容器新名字": 为容器指定一个名称;
-d: 后台运行容器,并返回容器ID,也即启动守护式容器;
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-P: 随机端口映射;
-p: 指定端口映射;
docker ps 查看正在运行容器
docker ps -a 查看所有容器
docker start 容器ID或者容器名 启动容器
docker restart 容器ID或者容器名 重启容器
docker stop 容器ID或者容器名 停止容器
docker kill 容器ID或者容器名 强制停止容器
docker kill $(docker ps -a -q) 停用全部运行中的容器
docker rm $(docker ps -aq) 删除全部容器
docker rmi docker images -q 删除所有镜像
简介:docker容器化可以使得环境相对独立,减少污染。在遇到关机重启时,重新启动显得很鸡肋,特别是必须开机自启动的程序,添加必要的参数使得每次重启后可以开始使用容器非常有必要。
历史攻略:
centos7.6:安装docker
win10:安装docker和测试安装redis
Ubuntu:安装docker + 设置开机启动
设置开机启动docker:
systemctl enable docker
1
设置容器自动重启
1、创建容器时设置
docker run -itd --restart=always --name 容器名 使用的镜像:版本
1
docker 容器的重启策略:
--restart具体参数值详细信息:
no: 默认策略,容器退出时不重启容器;
on-failure: 在容器非正常退出时(退出状态非0)才重新启动容器;
on-failure:3 在容器非正常退出时重启容器,最多重启3次;
always: 无论退出状态是如何,都重启容器;
unless-stopped: 在容器退出时总是重启容器,
但是不考虑在 Docker 守护进程启动时就已经停止了的容器。
2、修改已有容器,通过update设置
如果创建时未指定 --restart=always,可通过update 命令设置
docker update --restart=always 容器ID(或者容器名)
运行结果:
(base) root@ci4vyvxi:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9dfb678e42c0 tomrunrunrun888/websiteguide:1.0.1 "sh /entrypoint.sh" 3 weeks ago Up 9 days 0.0.0.0:8000->80/tcp, :::8000->80/tcp websiteguide
6086859131c3 ubuntu:latest "/bin/bash" 4 weeks ago Exited (137) 9 days ago ssh-demo
07636c8ccd6e openspug/spug-service "/entrypoint.sh" 7 weeks ago Up 9 days 0.0.0.0:8006->80/tcp, :::8006->80/tcp spug
27df7e413c07 mariadb:10.8.2 "docker-entrypoint.s…" 7 weeks ago Up 9 days 3306/tcp spug-db
(base) root@ci4vyvxi:~# docker update --restart=always 6086859131c3
6086859131c3
(base) root@ci4vyvxi:~# reboot ## 重启 ##
Connection closing...Socket close.
Connection closed by foreign host.
Disconnected from remote host(36.40.91.202) at 21:40:08.
Type `help' to learn how to use Xshell prompt.
[C:\~]$
Connecting to xxxxxx:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-137-generic x86_64)
Last login: Sun Jan 15 21:12:55 2023 from 117.140.118.233
(base) root@ci4vyvxi:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9dfb678e42c0 tomrunrunrun888/websiteguide:1.0.1 "sh /entrypoint.sh" 3 weeks ago Up 37 seconds 0.0.0.0:8000->80/tcp, :::8000->80/tcp websiteguide
6086859131c3 ubuntu:latest "/bin/bash" 4 weeks ago Up 38 seconds 0.0.0.0:1234->22/tcp, :::1234->22/tcp ssh-demo
07636c8ccd6e openspug/spug-service "/entrypoint.sh" 7 weeks ago Up 37 seconds 0.0.0.0:8006->80/tcp, :::8006->80/tcp spug
27df7e413c07 mariadb:10.8.2 "docker-entrypoint.s…" 7 weeks ago Up 37 seconds 3306/tcp spug-db
————————————————
docker 容器的启动和停止有以下几种方式:
1. 启动一个新的容器:
docker run 命令用于创建并启动一个新的容器。例如,运行下面的命令可以创建并启动一个新的 Nginx 容器:
docker run -d --name my-nginx nginx
2. 启动一个已停止的容器:
docker start 命令用于启动已经停止的容器。例如,运行下面的命令可以启动名为 my-nginx 的容器:
docker start my-nginx
3. 停止正在运行的容器:
docker stop 命令用于停止正在运行的容器。例如,运行下面的命令可以停止名为 my-nginx 的容器:
docker stop my-nginx
4. 重启容器:
docker restart 命令用于重启容器,即先停止再启动容器。例如,运行下面的命令可以重启名为 my-nginx 的容器:
docker restart my-nginx
5. 暂停容器:
docker pause 命令用于暂停容器中的所有进程。例如,运行下面的命令可以暂停名为 my-nginx 的容器:
docker pause my-nginx
6. 恢复容器:
docker unpause 命令用于恢复容器中的所有进程。例如,运行下面的命令可以恢复名为 my-nginx 的容器:
docker unpause my-nginx
7. 停止并删除容器:
docker rm 命令用于停止并删除容器。例如,运行下面的命令可以停止并删除名为 my-nginx 的容器:
docker rm my-nginx卸载Docker,同时删除Docker镜像、容器、数据卷等文件。
Docker自17.03版本开始分为两个版本Docker CE和Docker EE:
Docker CE:Docker Community Edition,即Docker社区版
Docker EE:即Docker Enterprise Edition,即Docker企业版。
卸载Docker的命令如下:
|
在完成这些操作之后,运行以下命令检查系统中是否还存在docker文件:
sudo find / -name '*docker*'可能仍然存在一些docker文件。这个时候,你可以执行一下删除方式,再次进行卸载。
删除安装时自动安装的所有包
sudo apt-get autoremove docker docker-ce docker-engine docker.io containerd runc查看删除docker其他有没有没有卸载干净的包
dpkg -l | grep docker卸载相应的包
sudo apt-get autoremove docker-ce-*删除docker的相关配置&目录
sudo rm -rf /etc/systemd/system/docker.service.d
sudo rm -rf /var/lib/docker
sudo rm /etc/apparmor.d/docker
sudo groupdel docker
sudo rm -rf /var/run/docker.sock确定docker卸载完毕
docker --version确定docker卸载完毕
最后可以再执行一遍检查:
sudo find / -name "*docker*" -exec `rm -rf` {} +删除所有相关文件即可。
评论区