当前位置: 首页 > 工具软件 > docker-sshd > 使用案例 >

Docker-ce引擎的安装[yum源(官方的)进行安装]

田永春
2023-12-01

1.1 操作系统的基本配置

#### 系统版本以及内核的版本
[root@vm7-200 ~]# 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-200 ~]# 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 安装docker-ce引擎

#### 添加 Docker-ce 的官方源(来自:https://docs.docker.com/engine/install/centos/)
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

ll /etc/yum.repos.d/docker-ce.repo

#### 此时你再看有哪些版本
[root@vm7-200 ~]# yum list docker-ce --show-duplicates
.......................................................................................省略
docker-ce.x86_64  3:19.03.10-3.el7       docker-ce-stable 
docker-ce.x86_64  3:19.03.11-3.el7       docker-ce-stable
.......................................................................................可能还有(人家也在更新的嘛)

#### 安装Docker-CE(Docker社区版),这里我安装的是指定版本,如果想安装最新版本,直接 yum install -y docker-ce 
yum -y install docker-ce-3:19.03.11-3.el7.x86_64 

#### 检查安装的版本docker的版本和相关工具
[root@vm7-200 ~]#
[root@vm7-200 ~]# rpm -qa docker-ce
docker-ce-19.03.11-3.el7.x86_64
[root@vm7-200 ~]#
[root@vm7-200 ~]# which docker dockerd
/bin/docker
/bin/dockerd

1.3 配置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.4 启动Docker-ce引擎

#### 启动docker引擎,并查看其状态
[root@vm7-200 ~]# systemctl start docker.service              # 启动docker引擎
[root@vm7-200 ~]#
[root@vm7-200 ~]# 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

#### 查看docker引擎启动后运行的进程
[root@vm7-200 ~]# 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

#### 加入开机自启动
[root@vm7-200 ~]# systemctl enable docker.service
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

#### 将其加入/etc/rc.local里面
echo -e '\n# Boot start docker-ce engine\nsystemctl start docker.service\n' >>/etc/rc.local
tail -3 /etc/rc.local

1.5 验证Docker-ce引擎

docker info
docker image ls
docker container ls -a
 类似资料: