【Docker】Ubuntu 下Docker安装

1. Environment

#安装前先卸载操作系统默认安装的docker,
sudo apt-get remove docker docker-engine docker.io containerd runc

#安装必要支持
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release

2. Install Env

#添加 Docker 官方 GPG key (可能国内现在访问会存在问题)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 阿里源(推荐使用阿里的gpg KEY)
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg


#添加apt源:
#Docker官方源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null


#阿里apt源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null


#更新源
sudo apt update
sudo apt-get update

3. Install Docker


#安装最新版本的Docker
sudo apt install docker-ce docker-ce-cli containerd.io
#等待安装完成

#查看Docker版本
sudo docker version

#查看Docker运行状态
sudo systemctl status docker

docker command 補全工具

sudo apt-get install bash-completion

sudo curl -L https://raw.githubusercontent.com/docker/docker-ce/master/components/cli/contrib/completion/bash/docker -o /etc/bash_completion.d/docker.sh

source /etc/bash_completion.d/docker.sh

4. Config DockerHub

cd /etc/docker

sudo vim daemon.json

在daemon.json 中增加

{
  "registry-mirrors": ["https://docker.m.daocloud.io"]
}
{
  "registry-mirrors": ["https://ustc-edu-cn.mirror.aliyuncs.com"]
}
{
  "registry-mirrors": ["https://gxeo3yz7.mirror.aliyuncs.com"]
}

重新吃配置,守護進程啟動

sudo systemctl daemon-reload

sudo systemctl daemon-reload

sudo systemctl restart docker

5. 不使用sudo

将当前用户添加到用户组
sudo usermod -aG docker xxxxx

使权限生效
newgrp docker

测试一下
docker ps -a

最后一步 更新.bashrc文件 sudo vim ~/.bashrc

#如果没有此行命令,你会发现,当你每次打开新的终端
#你都必须先执行一次 “newgrp docker” 命令
#否则当前用户还是不可以执行docker命令
groupadd -f docker

6. Uninstall

1.刪除docker安裝的所有包

sudo apt-get autoremove docker docker-ce docker-engine  docker.io  containerd runc

2.查看docker是否卸载干净

dpkg -l | grep docker
apt-get autoremove docker-ce-*

3.删除docker的相关配置&目录

rm -rf /etc/systemd/system/docker.service.d
rm -rf /var/lib/docker

7. Test mirror registory

docker pull hub-mirror.c.163.com/library/nginx:latest

docker pull 鏡像源/library/nginx:latest