Ubuntu22.04下Docker的安装
为什么要安装Docker,在这里就不用多说了,在我的另一篇文章里有告诉大家原因。大家可以去看看《Mac OS下Docker的安装与配置》
下面是具体的步骤:
准备条件
1sudo apt-get remove docker docker-engine docker.io containerd runc
2
3sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
准备安装
1curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
2
3curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
4
5echo "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
6
7echo "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
8
9sudo apt update
10sudo apt-get update
安装Docker
1sudo apt install docker-ce docker-ce-cli containerd.io
2
3sudo docker version
4
5sudo systemctl status docker
安装Docker 命令补全工具
1sudo apt-get install bash-completion
2
3sudo curl -L https://raw.githubusercontent.com/docker/docker-ce/master/components/cli/contrib/completion/bash/docker -o /etc/bash_completion.d/docker.sh
4
5source /etc/bash_completion.d/docker.sh
允许非Root用户执行docker 命令
当我们安装好了Docker之后,有两种方式来执行docker 命令
- 在docker命令前加上sudo, 比如:sudo docker ps
- sudo -i 切换至root用户,再执行docker 命令
是不是可以让当前用户在不切root,或者不加sudo 的情况下正常使用 docker 命令呢?答案是有的。
添加docker用户组
1sudo groupadd docker
将当前用户添加到用户组
1sudo usermod -aG docker $USER
使权限生效
1newgrp docker
测试一下
1docker ps -a
最后一步 更新.bashrc文件
我们需要编辑 ~/.bashrc文件,并在文件末尾增加如下一行,如果不在.bashrc文件中增加下面这一行命令
更新
关于最近国内无法访问到Docker的,首先在安装的时候,我们可以选国内阿里的源。参考上面的更新。
另外,我们需要在docker daemon 配置文件中增加国的可用的 docker hub mirror ,
找到你的daemon.json 文件,通常在 /etc/docker/daemon.json 这个位置
在daemon.json 中增加
1"registry-mirrors": [
2 "https://docker.m.daocloud.io"
3 ]
通常来讲如果没有其它的配置,那么daemon.json完整的文件内容就是
1{
2 "registry-mirrors": [
3 "https://docker.m.daocloud.io"
4 ]
5}
目前可用的国内docker hub 镜像,https://docker.m.daocloud.io。
个人笔记记录 2021 ~ 2025