操作系统: ubuntu20.04
另一方面,安装已卸载的早期版本的dockersudoapt-getremovedocker-engine docker.iocontainerdrunc。 如果apt-get报告这些软件包未安装,则安装即可。
/var/lib/docker/的内容(包括映像、容器、卷和网络)将被保留。 如果不需要保存现有数据,而是从全新安装开始,请参阅的Docker Engine卸载部分。
设置repository更新apt包索引,然后设置包sudo apt-getupdatesudoapt-get installapt-transport-httpsca-certificates _ s curl-fssl https://download.docker.com/Linux/Ubuntu/gpg|sudo gpg-de armor-o/usr/spg docker-archive-key ring . 设置' deb [ arch=amd64 signed-by=/usr/share/keyrings/docker-archive-key ring.gpg ] 3359 download.docker.] sources.list.d/docker.list/dev /空安装docker engine更新apt软件包索引
sudo apt-getupdatesudoapt-getinstalldocker-ce docker-ce-CLI containerd.iodockerenginedockerengine,CLI,containerd pad
sdoapt-getpurgedocker-ce docker-ce-CLI containerd.io主机上的映像、容器、卷或自定义配置文件不会自动删除。 要删除所有映像、容器和卷,请:
sudorm-RF/var/lib/dockersudorm-RF/var/lib/containerd二、使用docker将docker作为非根用户的docker守护程序3358 www.Sina Docker守护进程始终以超级用户身份运行。
如果不希望sudo作为docker命令的开头,请创建一个名为docker的Unix组并添加用户。 Docker守护进程启动时,它将创建Docker组成员可以访问的Unix套接字。
创建docker组sudo groupadd docker,让当前用户加入docker组sudo usermod -aG docker $USER并注销,然后重新登录,重新评估组成员资格。 在虚拟机上进行测试时,可能需要重新启动虚拟机才能使更改生效。 在桌面Linux环境(例如,X Windows )中,完全注销会话,然后再次登录。 在Linux上,还可以通过运行以下命令使对组的更改生效:
newgrp docker验证是否可以在不使用sudo的情况下运行docker命令。
docker run hello-world此命令下载测试映像并在容器中运行。 容器运行时,将打印并退出引用消息。
如果在首次将用户添加到docker组之前使用sudo运行Docker CLI命令,则可能会出现错误,指示为sudo命令创建的~/.docker/目录使用了不正确的权限
warning 3360错误恢复配置文件:/home/user/. docker/config.JSON-stat/home/user/. docker/config.jss 此目录将自动重新创建,但所有自定义设置都将丢失。 或者,使用以下命令更改所有权和权限:
sudo chown ' $ user ' : ' $ user '/home/' $ user '/. docker-rsudochmodgrwx ' $ home/. docker '-r对ubuntu来说是自动添加的
要关闭sudosystemctlenabledocker.servicesudosystemctlenablecontainerd.service引导,请使用disable命令
sudosystemctldisabledocker.servicesudosystemctldisablecontainerd.service对于长期运行的docker,会生成大量日志并占用大量磁盘资源在此,可以配置为滚动日志。 官方文档https://docs.docker.com/config/containers/logging/local /如果要配置远程访问,请访问https://docs.docker.com/engine