#### 系统版本以及内核的版本
[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
#### 添加 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
这个配置不适合于生产(生产上要考虑的就比较多了,因为不单单是只使用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
#### 启动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
docker info
docker image ls
docker container ls -a