linux中安装docker

2024-04-16 21:24:25 浏览数 (1)

旧话重提,有些日子没有安装docker了,这也导致忘记了如何操作,踩了很多坑,特此记录一下,如果还能帮到大家就更好了,如果帮到江湖朋友了,就点个赞,在此谢过

一、Docker安装环境检查

以centOS 7为例,首先要确定Linux版本

新版本的Docker对Linux系统版本有一定的要求。如果Linux的发行版系统是centOS,安装最新版的docker需要centOS 7以上的系统。

在Docker安装帮助页面查看支持的系统版本。

可以通过命令查看linux系统信息

代码语言:bash复制
cat /etc/os-release

二、docker安装

1、安装必要的一些系统工具

代码语言:bash复制
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

2、添加软件源信息

代码语言:bash复制
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、更新yum索引列表并安装Docker引擎

代码语言:bash复制
sudo yum makecache fast

4、yum索引列表没有更新可以直接使用yum makecache(若有报错请翻阅第四部分第二条)

docker-ce:社区版的,docker-ee:企业版的

代码语言:bash复制
sudo yum install docker-ce

5、安装过程中会提示确认,输入y以确认

6、开启Docker服务

代码语言:bash复制
sudo service docker start

代码语言:bash复制
systemctl start docker

7、测试是否安装成功

通过命令

代码语言:bash复制
docker version

若安装成功会提示以下信息

8、测试Hello World

代码语言:bash复制
docker run hello-world 

代码语言:bash复制
sudo docker run hello-world

此时会有拉去成功的签名信息以及欢迎语句,当出现"Hello from Docker!”时,代表我们镜像安装成功。

9、查看下载的hello-world镜像

代码语言:bash复制
docker images

代码语言:bash复制
sudo docker images

三、常用命令

1、列出容器

代码语言:bash复制
命令:docker ps [OPTIONS]

OPTIONS说明:

-a :显示所有的容器,包括未运行的。

-f :根据条件过滤显示的内容。

--format :指定返回值的模板文件。

-l :显示最近创建的容器。

-n :列出最近创建的n个容器。

--no-trunc :不截断输出。

-q :静默模式,只显示容器编号。

-s :显示总的文件大小。

2、进入容器<请先看完两者区别再使用>

(1)attach命令

attach是Docker自带的命令,命令的格式为:

docker attach [OPTIONS] CONTAINER

(2)exec命令

从Docker的1.3版本起,Docker提供了更加方便的工具exec命令,可以在运行容器内直接执行任意命令。命令格式为:

docker exec [OPTIONS] CONTAINER COMMAND [ARG…]

区别:

当多个窗口同是attach到同一个容器的时候,所有窗口都会同步显示;当某个窗口因命令阻塞时,其他窗口也无法执行操作。

可以使用 docker exec -it 容器id /bin/bash 进入容器并开启一个新的bash终端。 退出容器终端时,不会导致容器的停止。

使用 docker attach 容器id 进入正在执行容器,不会启动新的终端, 退出容器时,会导致容器的停止。

四、常见问题解决方法

1、添加源时遇到如下报错

解决方法:遇到该报错,基本是由于没有配置dns,导致无法解析域名,配置dns后便可以解决

2、在安装时若报错如下

代码语言:bash复制
。。。。。。
  - 软件包 podman-3.1.0-0.13.module_el8.5.0 733 9bb5dffa.x86_64 需要 runc >= 1.0.0-57,但没有提供者可以被安装
。。。。。。
  - 软件包 docker-ce-3:20.10.11-3.el8.x86_64 需要 containerd.io >= 1.4.1,但没有提供者可以被安装
。。。。。。
  - 软件包 podman-catatonit-1:3.4.1-3.module_el8.6.0 954 963caf36.x86_64 需要 podman = 1:3.4.1-3.module_el8.6.0 954 963caf36,但没有提供者可以被安装
  - 软件包 podman-1:3.4.1-3.module_el8.6.0 954 963caf36.x86_64 需要 runc >= 1.0.0-57,但没有提供者可以被安装
(尝试在命令行中添加 '--allowerasing' 来替换冲突的软件包 或 '--skip-broken' 来跳过无法安装的软件包 或 '--nobest' 来不只使用软件包的最佳候选)

此时可以使用如下命令来解决这个问题:

代码语言:bash复制
sudo yum install --allowerasing docker-ce docker-ce-cli containerd.io

0 人点赞