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