ubuntu安装docker
官网地址https://docs.docker.com/engine/install/ubuntu/
安装方式有三种
1安装doocker仓库(Docker’s repositories ),便于安装和更新
2手动下载docker包来安装和编译,一般是在内网才使用这种方式
3使用自动安装脚本,一般用于快速部署在开发环境上
这里采用第一种
移除旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
使用仓库安装
安装docker源仓库
sudo apt-get update
#安装https的依赖
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
#安装docker源仓库的GPG key(加密)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
#设置源仓库
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
安装docker
安装完源后需要更新包
sudo apt-get update
安装docker
sudo apt-get install docker-ce docker-ce-cli containerd.io
安装特定版本的dockr
你可以查看源查看里的版本
apt-cache madison docker-ce
docker-ce | 5:20.10.9~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:20.10.8~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:20.10.7~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
5:20.10.93-0ubuntu-bionic就是版本信息
安装
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
卸载docker
sudo apt-get purge docker-ce docker-ce-cli containerd.io
删除容器
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
以非root用户管理Docker
当你去以非root去使用docker的时候会发现你的权限不足
原文
The Docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user root and other users can only access it using sudo. The Docker daemon always runs as the root user.
docker守护进程绑定到unix套字节来替代tcp端口,因为unix套字节是属于root,其他用户不能访问,所以导致docker进程只能运行在root账号上
解决方法之一是创建一个docker的用户组,但是这个组的权限要等于root
Warning
The docker group grants privileges equivalent to the root user. For details on how this impacts security in your system
创建组
sudo groupadd docker
将当前用户加入组
sudo usermod -aG docker $USER
刷新
newgrp docker
第二种方法是Rootless 模式
https://docs.docker.com/engine/security/rootless/
大致就是将docker进程运行在用户的进程内
本文来自博客园,作者:阿弱,转载请注明原文链接:https://www.cnblogs.com/aruo/p/15728024.html