Docker安装及使用(简明流程,centos7下安装)

发布时间 2023-11-20 15:58:25作者: 俟礼

docker三要素:镜像(image)、容器(container)、仓库(repository)
centos7安装docker
安装步骤:

1:确定自己当前使用的系统版本号:
系统必须是centos7及以上版本 cat/etc/redhat-release。如上图

2:卸载旧版本(如果之前没有安装过,此步骤可以忽略)

yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
image

3:yum安装gcc相关
3.1:需要确保centos系统可以连接外网
3.2:yum -y install gcc
3.2:yum -y install gcc-c++

4:安装需要的软件包
我们采用从仓库安装的方法。
先安装仓库:
yum install -y yum-utils

5:设置stable镜像仓库
image

不能直接执行官网的设置镜像仓库命令。因为http://docker.com是国外的。会很慢。可能会经常出现以下问题:
image

所以,我们设置国内的镜像仓库。这里设置国内阿里云的。命令为:
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

6:更新yum软件包索引
yum makecache fast

7:安装docker engine
yum install docker-ce docker-ce-cli http://containerd.io docker-compose-plugin
会罗列出需要安装的

image

输入y.就开始正常安装了。遇到需要输入的地方。就输入y

image

当出现如下,说明安装完成了:

image

8:启动docker
systemctl start docker
命令输入后,没有报错。就是好消息。我们可以使用ps查看下

image

或者查看docker版本号:
image

9:测试:hello word
命令:docker run hello-world
image

我们再来结合docker运行图看看,刚才执行hello-word镜像。本地没有,就去远程仓库pull了。

image

10:卸载
systemctl stop docker
yum remove docker-ce docker-ce-clie http://containerd.io
rm -rf /var/lib/docker
rm -rf /var/lib/containerd

设置开机启动
systemctl enable docker.service
关闭开机启动
systemctl disable docker.service

添加阿里云镜像加速器
登录阿里云后,在左侧菜单,弹性计算>>容器镜像服务
image

可以添加个人版:
image

创建完成之后。
image

可以查看属于自己的镜像加速器地址了。

操作文档。根据对应操作系统镜像操作。我们这里是centos操作系统。所以操作如下:

mkdir -p /etc/docker

tee /etc/docker/daemon.json <<-'EOF'

{ "registry-mirrors": ["https://xxx你自己的.http?/mirror.aliyuncs.com"] } EOF

systemctl daemon-reload systemctl restart docker

如下图:
image

上面命令执行完成后。重新docker run hello-word下,说明加速成功。
image

docker run 到底干了些什么?

image

如果重启了宿主机。使用下面命令启动docker
systemctl daemon-reload
systemctl restart docker.service

11、底层原理:

Docker是怎么工作的?Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上, 然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。 容器,是一个运行时环境,就是我们前面说到的集装箱。
image

参考地址:

https://baijiahao.baidu.com/s?id=1750974024762730686