1.环境初始化
1)配置yum源
# 备份repo文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 最小安装使用curl
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
# 清除本地yum缓存 缓存yum源
yum clean all && yum makecache
2)修改防火墙
# 关闭防火墙自启
[root@docker01 ~]# systemctl disable firewalld
[root@docker01 ~]# systemctl stop firewalld
# selinux 修改
[root@docker01 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@docker01 ~]# getenforce
Enforcing
# 清除规则
[root@docker01 ~]# iptables -F
[root@docker01 ~]#
[root@docker01 ~]# iptables -X
[root@docker01 ~]#
[root@docker01 ~]# iptables -Z
[root@docker01 ~]#
[root@docker01 ~]# iptables-save
Generated by iptables-save v1.4.21 on Wed Nov 1 00:17:28 2023
*filter
:INPUT ACCEPT [33:1908]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [23:1592]
COMMIT
Completed on Wed Nov 1 00:17:28 20
3)安装基础软件
yum install -y vim nmap nc net-tools lrzsz wget expect bash-completion dos2unix htop iftop iotop tree unzip telnet sl psmisc nethogs glances bc ntpdate openldap-devel
2.docker基础配置
注意: docke安装在centos7平台 ,内核版本不低于3.10 查看内核版本:uname -r
1)开启内核流量转发
cat > /etc/sysctl.d/docker.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rpfilter = 0
net.ipv4.ipforward=1
EOF
2)重新加载内核
[root@docker01 ~]# modprobe br_netfilter
[root@docker01 ~]# sysctl -p /etc/sysctl.d/docker.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.conf.default.rpfilter = 0
net.ipv4.conf.all.rpfilter = 0
net.ipv4.ipforward = 1
3)安装docker-ce社区版 下载阿里云repo文件
curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 清除本地yum缓存 创建元数据
yum clean all && yum makecache
# 查看可用docker-ce安装包
[root@docker01 ~]# yum list docker-ce --showduplicates | sort -r
# 安装docker
[root@docker01 ~]# yum install -y docker-ce-20.10.6
4)检查Docker-ce安装
[root@docker01 ~]# docker version
Client: Docker Engine - Community
Version: 24.0.7
API version: 1.41 (downgraded from 1.43)
Go version: go1.20.10
Git commit: afdd53b
Built: Thu Oct 26 09:11:35 2023
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 20.10.6
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: 8728dd2
Built: Fri Apr 9 22:43:57 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.24
GitCommit: 61f9fd88f79f081d64d6fa3bb1a0dc71ec870523
runc:
Version: 1.1.9
GitCommit: v1.1.9-0-gccaecfc
docker-init:
Version: 0.19.0
GitCommit: de40ad0
3.Docker加速器
使用Docker获取镜像文件默认在Docker Hub下载 修改为国内的云服务商
中科大源: https://docker.mirrors.ustc.edu.cn
网易源: https://hub-mirror.c.163.com
百度源: https://mirror.baidubce.com
腾讯源: https://ccr.ccs.tencentyun.com
编辑 Docker 配置文件
vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://docker.mirrors.ustc.edu.cn",
"https://ccr.ccs.tencentyun.com"
]
}
开机自启 重启服务
[root@docker01 ~]# systemctl enable docker
[root@docker01 ~]# systemctl daemon-reload
[root@docker01 ~]# systemctl restart docker
查看 Docker 信息
docker info
# 出现以下就配置成功
Registry Mirrors:
https://hub-mirror.c.163.com/
https://mirror.baidubce.com/
https://docker.mirrors.ustc.edu.cn/
https://ccr.ccs.tencentyun.com/
Docker 运行验证
1.获取镜像
获取镜像 从配置好的docekr镜像站中获取 去拉取所需要的镜像
# 搜索镜像 是否存在
docker search nginx
# 拉取 下载镜像
docker pull nginx
# 查看本地docker镜像
[root@docker01 ~]# docker image list
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 593aee2afb64 7 days ago 187MB
# 删除镜像
[root@docker01 ~]# docker rm 镜像ID
2.运行镜像 生成容器
# 运行镜像命令
docker run 参数 镜像名字/ID
# -d 后台运行镜像
# -p 80:80 端口映射 宿主机端口:容器内端口
# docker run -d -p 80:80 nginx/593aee2afb64
# 运行成功结果 返回一个容器的ID
[root@docker01 ~]# docker run -d -p 80:80 nginx
7a08f8077e6a817067b8a6b88b991b34e1ab2f79826c87ce4ba3a547a5136741
# 查看运行中的容器
[root@docker01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7a08f8077e6a nginx "/docker-entrypoint.…" 4 hours ago Up 4 hours 0.0.0.0:80->80/tcp, :::80->80/tcp zealous_bel
day 01 (学习中)