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进程运行在用户的进程内

posted @ 2021-12-24 16:40  阿弱  阅读(307)  评论(0编辑  收藏  举报