侧边栏壁纸
博主头像
云BLOG 博主等级

行动起来,活在当下

  • 累计撰写 318 篇文章
  • 累计创建 6 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

docker 操作

已删除用户
2023-05-20 / 0 评论 / 0 点赞 / 5 阅读 / 0 字

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 CE
sudo apt-get purge docker-ce
# 卸载Docker EE
sudo apt-get purge docker-ee
# 删除Docker镜像、容器、数据卷等文件
sudo rm -rf /var/lib/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` {} +

删除所有相关文件即可。

0

评论区