docker三件套:镜像、容器、仓库
Docker hub=hub.docker.com
ubuntu安装【待更新】
CentOS安装
CentOS 仅发行版本中的内核支持 Docker。Docker 运行在 CentOS 7 (64-bit)上,要求系统为 64 位、Linux 系统内核版本为 3.8 以上,这里选用 Centos 7.9 。
查看centos版本:
cat /etc/redhat-release
查看Linux内核:
uname -sr
关闭防火墙:
systemctl stop firewalld
禁止开机启动防火墙:
systemctl disable firewalld
切换国内源:华为/阿里/清华
cp -a /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
yum clean all
yum makecache
安装EPEL并切换国内源
yum install epel-release -y
cp -a /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
sed -i “s/#baseurl/baseurl/g” /etc/yum.repos.d/epel.repo
sed -i “s/metalink/#metalink/g” /etc/yum.repos.d/epel.repo
sed -i “s@https?😕/download.fedoraproject.org/pub@https://repo.huaweicloud.com@g” /etc/yum.repos.d/epel.repo
更新系统:yum -y update
升级内核【可选】:
cat /etc/redhat-release
查看系统内核:
uname -sr
查看启动顺序:
yum install -y grub2-pc
grub2-editenv list
#查看可用内核版本及启动顺序
sudo awk -F’ ‘$1=="menuentry " {print i++ " : " $2}’ /boot/grub2/grub.cfg
在 CentOS 7.x 上启用 ELRepo 仓库,并切换为清华源:
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
sed -i “s/mirrorlist=/#mirrorlist=/g” /etc/yum.repos.d/elrepo.repo
sed -i “s#elrepo.org/linux#mirrors.tuna.tsinghua.edu.cn/elrepo#g” /etc/yum.repos.d/elrepo.repo
yum --disablerepo=“*” --enablerepo=“elrepo-kernel” list available
yum -y --enablerepo=elrepo-kernel install kernel-lt
设置默认启动项:
#查看启动项
cat /etc/default/grub
#设置默认的启动项
sed -i ‘s/^GRUB_DEFAULT=saved$/GRUB_DEFAULT=0/’ /etc/default/grub
#查看启动项
cat /etc/default/grub
重新创建内核配置:
grub2-mkconfig -o /boot/grub2/grub.cfg
重启系统
reboot
查看当前系统内核
uname -sr
查看可用内核版本及启动顺序
sudo awk -F’ ‘$1=="menuentry " {print i++ " : " $2}’ /boot/grub2/grub.cfg
关闭SELinux
#查看 SELinux 是否开启
getenforce
#查看 SELinux 是否开启
cat /etc/selinux/config
#永久关闭 SELinux ,需要重启
sed -i ‘s/enforcing/disabled/’ /etc/selinux/config
#关闭当前会话的 SELinux ,重启之后无效
setenforce 0
#查看 SELinux 是否开启
cat /etc/selinux/config
关闭SWAP分区
#查看 swap 分区是否存在
free -h
#关闭当前会话的 swap ,重启之后无效
swapoff -a
#永久关闭 swap ,需要重启
sed -ri ‘s/.swap./#&/’ /etc/fstab
#查看 swap 分区是否存在
free -h
卸载旧版本:
yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
yum安装gcc
yum -y install gcc gcc-c++
安装所需软件包:
yum install -y yum-utils device-mapper-persistent-data lvm2
设置 stable 镜像仓库
#官方源
yum-config-manager
–add-repo
https://download.docker.com/linux/centos/docker-ce.repo
#aliyun 源
yum-config-manager
–add-repo
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新yum软件包索引
yum makecache fast
查看存储库中 Docker 的版本
yum list docker-ce --showduplicates | sort -r
安装指向版本的 Docker,用上面查询的版本号替换 <VERSION_STRING> ,如果不指定就安装最新版本的
yum -y install docker-ce-<VERSION_STRING>.x86_64 docker-ce-cli-<VERSION_STRING>.x86_64 containerd.io
安装最新版本的 Docker
yum -y install docker-ce docker-ce-cli containerd.io
最新版本的 Docker 已经集成了 docker buildx 和 docker compose 功能,只需要输入如下的命令即可:
yum -y install docker-ce
docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
#启动 Docker 并设置开机自启
systemctl enable --now docker
验证docker是否安装成功
docker version
systemctl status docker
配置阿里云镜像加速
参考阿里镜像站
Docker卸载:
systemctl stop docker
&& systemctl disable docker
&& yum -y remove docker-ce docker-ce-cli containerd.io
&& rm -rf /var/lib/docker
&& rm -rf /var/lib/containerd
学习之前–查看docker服务的状态
sudo systemctl status docker
sudo systemctl start docker
restart
配置国内镜像加速【重要】
选择阿里云镜像加速:
https://help.aliyun.com/zh/acr/user-guide/accelerate-the-pulls-of-docker-official-images
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF’
{
“registry-mirrors”: [“https://put your address”]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
【注意】国内拉取镜像其会变得不稳定。即便配置了加速器也可能会存在这个问题的,建议您可以尝试配置下第三方docker源地址再试试。
步骤如下:
步骤一:编辑配置
vim /etc/docker/daemon.json
步骤二:切记:任选一个源
{
“registry-mirrors”: [
“https://docker.211678.top”,
“https://docker.1panel.live”,
“https://hub.rat.dev”,
“https://docker.m.daocloud.io”,
“https://do.nark.eu.org”,
“https://dockerpull.com”,
“https://dockerproxy.cn”,
“https://docker.awsl9527.cn”
]
}
步骤三:重载生效
systemctl daemon-reload
systemctl restart docker
ps:我用的这个:https://docker.1panel.live
系统文件修改:为了避免需要恢复,需提前做备份。
cp 源文件 目标路径/文件名_$(date +%Y%m%d).bak
ubuntu防火墙
查看防火墙状态
sudo ufw status
ufw=uncomplicated firewall
sudo ufw enable
sudo ufw disable
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw deny 80
sudo ufw delete allow 22
sudo ufw allow 433/tcp
iptables相关
查看规则列表
sudo iptables -L
允许所有入站出站流量
sudo iptables -P INPUT ACCEPT
OUTPUT ACCEPT