Docker 是一个开源的容器化平台,它允许你构建,测试,并且作为可移动的容器去部署应用,这些容器可以在任何地方运行。一个容器表示一个应用的运行环境,并且包含软件运行所需要的所有依赖软件。
首先,更新软件包索引,并且安装必要的依赖软件,来添加一个新的 HTTPS 软件源:
sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
使用下面的 curl
导入源仓库的 GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
将 Docker APT 软件源添加到你的系统:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
现在,Docker 软件源被启用了,你可以安装软件源中任何可用的 Docker 版本。
01.想要安装 Docker 最新版本,运行下面的命令。如果你想安装指定版本,跳过这个步骤,并且跳到下一步。
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
02.想要安装指定版本,首先列出 Docker 软件源中所有可用的版本:
sudo apt update
apt list -a docker-ce
可用的 Docker 版本将会在第二列显示。在写作这篇文章的时候,在官方 Docker 软件源中只有一个 Docker 版本(5:19.03.9~3-0~ubuntu-focal
)可用:
docker-ce/focal 5:19.03.9~3-0~ubuntu-focal amd64
通过在软件包名后面添加版本=
来安装指定版本:
sudo apt install docker-ce= docker-ce-cli= containerd.io
一旦安装完成,Docker 服务将会自动启动。你可以输入下面的命令,验证它:
sudo systemctl status docker
输出将会类似下面这样:
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-05-21 14:47:34 UTC; 42s ago
...
当一个新的 Docker 发布时,你可以使用标准的sudo apt update && sudo apt upgrade
流程来升级 Docker 软件包。
如果你想阻止 Docker 自动更新,锁住它的版本:
sudo apt-mark hold docker-ce
二、
docker去掉sudo权限方法查看用户组及成员
sudo cat /etc/group | grep docker
可以添加docker组
sudo groupadd docker
添加用户到docker组
sudo gpasswd -a ${USER} docker
增加读写权限
sudo chmod a+rw /var/run/docker.sock
重启docker
sudo systemctl restart docker
前提需要了解:
Docker 默认的位置在/var/lib/docker,当前所有的镜像、容器都存储在这儿。如果你有任何在运行的容器,停止这些容器,并确保没有容器在运行,然后运行以下命令,确定当前Docker使用的存储驱动
sudo docker info
在输出的信息中,查找Storage Driver那行,并记下:
Storage Driver: overlay2
docker存储根目录:
Docker Root Dir: /var/lib/docker
关闭docker服务:
sudo systemctl stop docker.service
创建一个新的文件夹作为docker镜像新的存储位置,记下这个文件夹的路径:
sudo mkdir -p /home/data/docker
编辑docker配置文件:
sudo vim /etc/systemd/system/multi-user.target.wants/docker.service
# 将ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock修改以下内容:
ExecStart=/usr/bin/dockerd --graph=/home/data/docker --storage-driver=overlay2
开启docker来更新配置:
sudo systemctl daemon-reload
sudo systemctl start docker
然后在将这个文件夹拷贝到新的地方(比如说更大的硬盘上,假设是/data分区,它挂载在一个单独硬盘上):
sudo cp -r /var/lib/docker /data/docker
然后修改docker中默认镜像和容器的保存位置,刚安装docker后没有该文件,需要新建。
sudo vim /etc/docker/daemon.json
将里面的data-root改为新的docker容器存储位置,
{ "live-restore": true, "registry-mirrors": [ "https://registry.docker-cn.com"],
"data-root": "/home/oem/docker/docker"}
然后重启docker服务,就可以更新docker默认的镜像容器保存位置,特别注意,如果新的保存位置里拷贝了原来容器保存位置里的所有内容,那么镜像数据等也就迁移过来了。
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl status docker
在卸载 Docker 之前,你最好 移除所有的容器,镜像,卷和网络。
运行下面的命令停止所有正在运行的容器,并且移除所有的 docker 对象:
docker container stop $(docker container ls -aq)
docker system prune -a --volumes
现在你可以使用apt
像卸载其他软件包一样来卸载 Docker:
sudo apt purge docker-ce
sudo apt autoremove
参考文章:Ubuntu Docker更改默认镜像和容器存储位置 - buildings - 博客园