1 查看是否安装docker
要检查Ubuntu是否安装了Docker,可以使用以下几种方法:
方法1:使用 docker --version
命令
docker --version
如果Docker已安装,输出会显示Docker的版本信息,例如:
Docker version 20.10.10, build b485636
如果Docker未安装,你将看到类似以下的错误信息:
Command 'docker' not found, but can be installed with:
sudo apt install docker.io
方法2:使用 which docker
命令
which docker
如果Docker已安装,此命令会显示Docker可执行文件的路径,例如:
/usr/bin/docker
如果Docker未安装,命令不会产生输出。
方法3:检查Docker服务状态
systemctl status docker
如果Docker已安装且正在运行,你将看到服务的详细状态信息。如果Docker未安装或未运行,输出将类似于:
Unit docker.service could not be found.
方法4:检查已安装的包
你还可以检查系统中是否安装了Docker包。
检查 docker
包
dpkg -l | grep docker
或
检查 docker.io
包
dpkg -l | grep docker.io
如果Docker已安装,你会看到与Docker相关的包信息,例如:
ii docker-ce 5:20.10.10~3-0~ubuntu-focal amd64 Docker: the open-source application container engine
ii docker-ce-cli 5:20.10.10~3-0~ubuntu-focal amd64 Docker CLI: the open-source application container engine
安装Docker
如果你的系统中没有安装Docker,可以使用以下步骤安装Docker。
查询版本号
snap info docker
完整步骤如下:
使用 apt
包管理器可以直接安装指定版本的 docker.io
包。虽然这种方法更简单,但 docker.io
包可能不是官方的最新版本。以下是如何使用 apt
安装特定版本的 docker.io
:
1. 更新包信息
sudo apt update
2. 查找可用的 Docker 版本
使用 apt-cache
查看可用的 docker.io
版本:
apt-cache madison docker.io
这将列出所有可用的 docker.io
版本。例如:
docker.io | 20.10.17-0ubuntu1~20.04.1 | http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages
docker.io | 20.10.12-0ubuntu2~20.04.1 | http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages
...
3. 安装特定版本的 Docker
找到所需版本后,使用以下命令安装,例如20.10.17:
sudo apt install docker.io=20.10.21-0ubuntu1~18.04.3
4. 防止自动升级
为了防止 docker.io
包在系统升级时自动升级到新版本,可以将其保持在当前版本:
sudo apt-mark hold docker.io
5. 启动并启用 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
- 启动服务:
start
命令会立即启动服务,但不会配置其在系统重启后自动启动。 - 启用服务:
enable
命令会配置服务在系统启动时自动启动,但不会立即启动服务。
6. 验证安装
docker --version
docker官方网站寄了,换国内镜像网站,跟pip,conda一样
vi /etc/docker/daemon.json
{
“registry-mirrors”: [“https://ustc-edu.cn.mirror.aliyuncs.com/”,“https://ccr.ccs.tencentyun.com/”,“https://docker.m.daocloud.io/”]
}
systemctl daemon-reload
systemctl restart docker
容器重启策略
当Ubuntu虚拟机关机或重启后,原先运行在Docker中的容器会停止。如果你重新启动虚拟机并运行 docker ps
命令,你将看不到那些原先运行的容器,因为它们已经停止。
但是,这些容器并没有被删除,你可以通过 docker ps -a
命令查看所有(包括停止的)容器。
重新启动容器
如果你希望在系统重启后自动重新启动容器,可以为容器设置重启策略。Docker 提供了几种重启策略,你可以在运行容器时通过 --restart
选项来设置:
- no:默认值。容器退出时不会自动重启。
- on-failure:如果容器由于错误退出(非零退出状态),则自动重启。
- always:无论退出状态如何,始终自动重启。
- unless-stopped:始终自动重启,除非容器是手动停止的。
示例
使用 --restart
选项设置容器的重启策略:
docker run \
-e RABBITMQ_DEFAULT_USER=itheima \
-e RABBITMQ_DEFAULT_PASS=123321 \
-v mq-plugins:/plugins \
--name mq \
--hostname mq \
-p 15672:15672 \
-p 5672:5672 \
--network hmall \
--restart always \
-d \
rabbitmq:3.8-management
在上面的命令中,--restart always
参数确保容器在Docker守护进程启动时(例如系统重启后)自动重启。
启动和停止 Docker 容器
当系统重启后,使用以下命令来手动启动和停止容器:
-
查看所有容器,包括已停止的:
docker ps -a
-
启动一个已停止的容器:
docker start <container_name_or_id>
-
停止一个运行中的容器:
docker stop <container_name_or_id>
进一步说明
使用重启策略可以确保容器在系统重启后自动恢复运行,提供了一种简单的方法来管理容器的高可用性,特别是对于需要持续运行的服务。
的容器**:
docker start <container_name_or_id>
-
停止一个运行中的容器:
docker stop <container_name_or_id>
进一步说明
使用重启策略可以确保容器在系统重启后自动恢复运行,提供了一种简单的方法来管理容器的高可用性,特别是对于需要持续运行的服务。