Docker引擎安装的两种方式

  1. 规划节点

Docker部署节点规划如下表所示:

|----------------|--------|----------|
| IP | 主机名 | 节点 |
| 192.168.100.10 | master | Docker节点 |

  1. 基础准备

所有节点安装CentOS7.9_2009系统,并配置主机名和网卡。

配置主机名和网卡

bash 复制代码
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=1f637ed7-8149-4c10-b9ec-ef4e8ac4a489
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.100.10
NETMASK=255.255.255.0
GATEWAY=192.168.100.2
DNS1=8.8.8.8
[root@localhost ~]# hostnamectl set-hostname master
[root@localhost ~]# su
[root@master ~]# hostnamectl
   Static hostname: master
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 9f42b0fc9dda47ff94338acf8052f2ef
           Boot ID: 90afd45aef1b4c8b862038f2cb0fa1bb
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-1160.el7.x86_64
      Architecture: x86-64
[root@master ~]#

(一) 在线安装docker

1.检测、配置安装环境

查看linux版本,是否符合>centos 7

bash 复制代码
[root@master ~]# uname -r
3.10.0-1160.el7.x86_64

查看网络是否通畅

安装gcc,gcc-c++编译器

bash 复制代码
[root@master ~]# ping www.baidu.com
[root@master ~]# yum -y install gcc-c++

安装device-mapper-persistent-data和lvm2工具

bash 复制代码
[root@master ~]# yum install yum-utils device-mapper-persistent-data lvm2

换阿里云的源

bash 复制代码
[root@master ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum 索引重建,提高安装速度

bash 复制代码
[root@master ~]# yum makecache fast

安装docker

bash 复制代码
[root@master ~]# yum install -y docker-ce docker-ce-cli containerd.io

启动

bash 复制代码
[root@master ~]#  systemctl start docker

检测版本

运行hello-world

(二)离线安装Docker

卸载Docker

bash 复制代码
[root@master ~]# yum remove docker-ce docker-ce-cli containerd.io
[root@master ~]# rm -rf /var/lib/docker/

1. 基础环境配置

(1)配置YUM源

将提供的压缩包Docker.tar.gz上传至/root目录并解压。

bash 复制代码
[root@master ~]# tar -zxvf Docker.tar.gz

配置本地YUM源。

bash 复制代码
[root@master ~]# mkdir /opt/centos
[root@master ~]# mount /dev/sr0 /opt/centos/
mount: /dev/sr0 is write-protected, mounting read-only
[root@master ~]# mv /etc/yum.repos.d/* /media/
[root@master ~]# vi /etc/yum.repos.d/local.repo
[root@master ~]# cat /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[Docker]
name=docker
baseurl=file:///root/Docker
gpgcheck=0
enabled=1

(2)配置防火墙及SELinux

配置防火墙及SELinux,示例代码如下:

bash 复制代码
[root@master ~]# systemctl stop firewalld && systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@master ~]# iptables -F
[root@master ~]# iptables -X
[root@master ~]# iptables -Z
[root@master ~]# iptables-save
# Generated by iptables-save v1.4.21 on Thu Mar 21 04:06:14 2024
*filter
:INPUT ACCEPT [20:1280]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [11:968]
COMMIT
# Completed on Thu Mar 21 04:06:14 2024
[root@master ~]# vi /etc/selinux/config
[root@master ~]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

(4)开启路由转发

bash 复制代码
[root@master ~]# cat >> /etc/sysctl.conf << EOF
> net.ipv4.ip_forward=1
> net.bridge.bridge-nf-call-ip6tables = 1
> net.bridge.bridge-nf-call-iptables = 1
> EOF
[root@master ~]# modprobe br_netfilter
[root@master ~]# sysctl -p
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1

2. Docker引擎安装

(1)安装依赖包

yum-utils提供了yum-config-manager的依赖包,device-mapper-persistent-data和lvm2are需要 devicemapper存储驱动。

bash 复制代码
[root@master ~]# yum install -y yum-utils device-mapper-persistent-data

(2)安装docker-ce

随着Docker的不断流行与发展,Docker组织也开启了商业化之路,Docker从17.03版本之后分为CE (CommunityEdition)和EE(EnterpriseEdition)两个版本。

Docker EE专为企业的发展和IT团队建立,为企业提供最安全的容器平台,以应用为中心的平台,有专 门的团队支持,可在经过认证的操作系统和云提供商中使用,并可运行来自DockerStore的经过认证的容器 和插件。

Docker CE是免费的Docker产品的新名称,Docker CE包含了完整的Docker平台,非常适合开发人员 和运维团队构建容器APP。此处安装指定版本的Docker CE。

bash 复制代码
[root@master ~]# yum install docker-ce docker-ce-cli containerd.io -y

3. 启动Docker

启动Docker并设置开机自启。

bash 复制代码
[root@master ~]# systemctl daemon-reload
[root@master ~]# systemctl restart docker
[root@master ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

查看Docker的系统信息。

相关推荐
腾讯蓝鲸智云3 小时前
【运维自动化-节点管理】节点管理的插件策略如何使用
运维·自动化·云计算·sass·paas
苍煜4 小时前
Docker容器网络详解+端口映射原理(系列第二篇:实战核心)
网络·docker·容器
疯狂成瘾者5 小时前
服务器的单体和集群
运维·服务器
liuhuizuikeai5 小时前
可视化门禁---Linux/Qt+SqLite篇
linux·运维·qt
charlie1145141918 小时前
嵌入式Linux驱动开发——新 API 字符设备驱动完整教程 - 从设备结构体到应用测试
linux·运维·驱动开发
gwjcloud9 小时前
Kubernetes从入门到精通(高级篇)04
云原生·容器·kubernetes
飞Link9 小时前
2000 亿砸向算力:字节跳动 AI 基建跨越,后端与运维的“万亿 Token”生死战
运维·人工智能
SWAGGY..9 小时前
Linux系统编程:(二)基础指令详解
linux·运维·服务器
张文君10 小时前
上古世纪服务端编译安装AAEmu docker编译安装
运维·docker·容器
雾岛心情10 小时前
小铭邮件管理工具箱的界面(公司版)
运维·服务器·工具·o365·小铭邮件工具箱(公司版)