Docker-ce引擎的安装[用rpm包进行安装]
文章目录1.1 rpm包从哪获取1.2 操作系统的环境1.3 安装docker-ce引擎1.4 简单进行docker-ce的配置1.5 启动docker-ce服务并加入开机自启动1.6 验证1.1 rpm包从哪获取这里不下载,只要知道是在哪里可以去下载,知道从哪里找rpm包的下载地址。地址: https://download.docker.com/linux/centos/7/x86_64/sta
文章目录
1.1 操作系统的基本配置
#### 系统版本以及内核的版本
[root@vm7-121 ~]# cat /etc/redhat-release;uname -r;uname -m
CentOS Linux release 7.9.2009 (Core)
3.10.0-1160.el7.x86_64
x86_64
#### sshd服务的端口
[root@vm7-121 ~]# ss -lntup|grep sshd
tcp LISTEN 0 128 *:22 *:* users:(("sshd",pid=954,fd=3))
tcp LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=954,fd=4))
#### 关闭SELINUX
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
setenforce 0
#### 关闭 firewalld 服务,不用它来管理 iptables 防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl mask firewalld.service
mv /usr/lib/systemd/system/firewalld.service /usr/lib/systemd/system/firewalld.service.bak
#### 安装 ipables-services 防火墙,用它来管理iptables防火墙
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow
yum install iptables-services -y
systemctl start iptables
systemctl enable iptables
iptables -t filter -D INPUT -j REJECT --reject-with icmp-host-prohibited # 删除filter表中INPUT链的第5条规则
iptables -t filter -D FORWARD -j REJECT --reject-with icmp-host-prohibited # 删除filter表中FORWARD链里唯一的一条规则
iptables-save >/etc/sysconfig/iptables # 保存配置
systemctl restart iptables # 重启防火墙
#### 是可以访问互联网的哈
ping -c 2 www.baidu.com|head -2
#### 更改base源和epel源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install -y epel-release
#### 安装常用工具
yum install -y \
tree telnet lrzsz wget ntpdate vim nc namp dos2unix tcpdump expect elinks unzip \
lsof net-tools iproute bridge-utils \
bind-utils nscd \
gcc gcc-c++ make cmake libaio zlib-devel pcre-devel \
psmisclsof sysstat yum-utils
#### 开启Linux内核转发(当容器的网络类型为bridge时,需要用内核转发)
chattr -i /etc/sysctl.conf
echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf
sysctl -p
1.2 从哪里可下载rpm包
阿里云:https://mirrors.aliyun.com/docker-ce/linux/centos/7.9/x86_64/stable/Packages/
官方:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
1.3 需要下载哪些包呢
需要下载如下的基础包,这些包下载好以后,你用 rpm -ivh ./* 来进行安装时还无法安装成功。还需要一些依赖。
## docker-ce服务端
wget https://mirrors.aliyun.com/docker-ce/linux/centos/7.9/x86_64/stable/Packages/docker-ce-19.03.11-3.el7.x86_64.rpm
wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.2-3.el7.x86_64.rpm
## docker-ce客户端
wget https://mirrors.aliyun.com/docker-ce/linux/centos/7.9/x86_64/stable/Packages/docker-ce-cli-19.03.11-3.el7.x86_64.rpm
当这些安装包安装下载好以后,用rpm -ivh ./* 进行安装时不成功,提示需要一些依赖包。下所示
[root@vm7-121 tools]# ll
总用量 86424
-rw-r--r-- 1 root root 23156212 7月 28 2020 containerd.io-1.2.2-3.el7.x86_64.rpm
-rw-r--r-- 1 root root 25278520 7月 28 2020 docker-ce-19.03.11-3.el7.x86_64.rpm
-rw-r--r-- 1 root root 40054796 7月 28 2020 docker-ce-cli-19.03.11-3.el7.x86_64.rpm
[root@vm7-121 tools]# rpm -ivh ./*
警告:./containerd.io-1.2.2-3.el7.x86_64.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID 621e9f35: NOKEY
错误:依赖检测失败:
container-selinux >= 2:2.74 被 docker-ce-3:19.03.11-3.el7.x86_64 需要
libcgroup 被 docker-ce-3:19.03.11-3.el7.x86_64 需要
libseccomp >= 2.3 被 docker-ce-3:19.03.11-3.el7.x86_64 需要
libseccomp.so.2()(64bit) 被 docker-ce-3:19.03.11-3.el7.x86_64 需要
## 需要解决libcgroup、libseccomp、libseccomp.so.2依赖,可用:yum install -y libcgroup-devel libseccomp-devel
## 但container-selinux我们在1.2章节中所指的网址中找不到相应的版本
所以我们用rpm包安装时可以这样做:
### 只下载docker-ce服务端和客户端
wget https://mirrors.aliyun.com/docker-ce/linux/centos/7.9/x86_64/stable/Packages/docker-ce-19.03.11-3.el7.x86_64.rpm
wget https://mirrors.aliyun.com/docker-ce/linux/centos/7.9/x86_64/stable/Packages/docker-ce-cli-19.03.11-3.el7.x86_64.rpm
### 再安装时用 yum install localhost *.rpm 来进行安装,会自动解决依赖
A:好处:我不用在1.2章节所指定的网站去找containerd.io-1.2.2-3.el7.x86_64.rpm包了
B:会解决依赖:container-selinux、libcgroup、libseccomp、libseccomp.so.2
C:当然我们操作系统的base源为阿里源、docker-ce的源为阿里源
1.4 安装docker-ce引擎
### 更改操作系统的base源和docker-ce的源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
### 下载rpm包并进行安装
mkdir -p /root/tools
cd /root/tools
wget https://mirrors.aliyun.com/docker-ce/linux/centos/7.9/x86_64/stable/Packages/docker-ce-19.03.11-3.el7.x86_64.rpm
wget https://mirrors.aliyun.com/docker-ce/linux/centos/7.9/x86_64/stable/Packages/docker-ce-cli-19.03.11-3.el7.x86_64.rpm
ll
chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow
yum install -y localhost *.rpm
#### 查看docker-ce是否安装成功
which docker dockerd
1.5 配置docker-ce引擎
这个配置不适合于生产(生产上要考虑的就比较多了,因为不单单是只使用Docker引擎),在Linux下其实不配置daemon.json也是可以启动docker-ce引擎的哈。因为dockerd命令在去启动时默认会到/etc/docker/目录下去找daemon.json文件,如果没有,就以dockerd命令相关参数的默认值为准。这里只配置了一个拉取镜像的加速器和关闭Docker引擎时不关闭里面的容器。
#### 创建/etc/docker目录
mkdir /etc/docker
ls -ld /etc/docker
#### 创建/etc/docker/daemon.json文件并追加内容[这些配置只是入门的哈]
cat >>/etc/docker/daemon.json<<EOF
{
"registry-mirrors": ["https://m2xxornh.mirror.aliyuncs.com"],
"live-restore": true
}
EOF
#### 配置参数说明
"registry-mirrors": ["https://m2xxornh.mirror.aliyuncs.com"]
# 镜像加速器,这是我自己在阿里云上搞的一个,用于快速访问docker的官方仓库
# 配置以后,当你从docker的官方仓库上进行拉取镜像时比较快,因为该网站是在国外;
"live-restore": true
# 表示在docker引擎关闭时,不影响运行着的容器,默认为false
1.6 启动Docker-ce引擎
#### 启动docker引擎,并查看其状态
[root@vm7-121 ~]# systemctl start docker.service # 启动docker引擎
[root@vm7-121 ~]#
[root@vm7-121 ~]# systemctl status docker.service|head -3 # 查看docker引擎的运行状态
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since 四 2020-11-12 03:45:38 CST; 3h 29min ago
[root@vm7-121 ~]#
[root@vm7-121 ~]# systemctl status containerd.service|head -3 # containerd服务是docker.service拉起来的
● containerd.service - containerd container runtime
Loaded: loaded (/usr/lib/systemd/system/containerd.service; disabled; vendor preset: disabled)
Active: active (running) since 六 2021-11-27 17:36:25 CST; 33s ago
[root@vm7-121 ~]# systemctl status docker.socket
● docker.socket - Docker Socket for the API
Loaded: loaded (/usr/lib/systemd/system/docker.socket; disabled; vendor preset: disabled)
Active: active (running) since 六 2021-11-27 18:51:39 CST; 2min 34s ago
Listen: /var/run/docker.sock (Stream)
11月 27 18:51:39 vm7-121.host.com systemd[1]: Starting Docker Socket for the API.
11月 27 18:51:39 vm7-121.host.com systemd[1]: Listening on Docker Socket for the API.
#### 查看docker引擎启动后运行的进程
[root@vm7-121 ~]# ps -ef|grep dockerd|grep -v grep # 这是docker-daemon进程
root 1915 1 0 05:45 ? 00:00:01 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
[root@vm7-200 ~]#
[root@vm7-200 ~]# ps -ef|grep "containerd"|grep -v grep # 这是containerd进程
root 1904 1 1 05:45 ? 00:01:38 /usr/bin/containerd
root 1915 1 0 05:45 ? 00:00:01 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
#### 加入开机自启动
systemctl enable docker.service
#### 将其加入/etc/rc.local里面
echo -e '\n# Boot start docker-ce engine\nsystemctl start docker.service\n' >>/etc/rc.local
tail -2 /etc/rc.local
#### 给/etc/rc.d/rc.local加可执行权限
chmod 744 /etc/rc.d/rc.local
1.7 验证Docker-ce引擎
docker version 和 docker info
[root@vm7-121 ~]# docker version
Client: Docker Engine - Community # 客户端
Version: 19.03.11
API version: 1.40
Go version: go1.13.10
Git commit: 42e35e61f3
Built: Mon Jun 1 09:13:48 2020
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community # 服务端
Engine:
Version: 19.03.11
API version: 1.40 (minimum version 1.12)
Go version: go1.13.10
Git commit: 42e35e61f3
Built: Mon Jun 1 09:12:26 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.12
GitCommit: 7b11cfaabd73bb80907dd23182b9347b4245eb5d
runc:
Version: 1.0.2
GitCommit: v1.0.2-0-g52b36a2
docker-init:
Version: 0.18.0
GitCommit: fec3683
## 客户端和服务端的版本都是 19.03.11,这是因为我们是下载服务端和客户端的rpm包时,它们的版本是一样的。
## 如果你只下载了服务端(19.03.11),没有下载客户端(docker-ce-cli),再用yum install localhost *.rpm安装后,它们的版本是不一样的
## 但是不影响使用。
查看有哪些镜像,当然是没有的了
[root@vm7-121 ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
更多推荐
所有评论(0)