说明:本文档根据清华大学开源软件镜像站Docker社区版镜像使用帮助撰写。基于Docker官方文档完善。鉴于我团队主要使用Ubuntu和树莓派进行开发,仅参考Ubuntu和树莓派部分即可。
以下内容根据 官方文档 修改而来。
旧的Docker版本可能叫做docker,docker-engine或者http://docker.io,如果你过去安装过 docker,先删掉:
sudo apt-get remove docker docker-engine docker.io
首先安装依赖:
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
根据你的发行版,下面的内容有所不同。你使用的发行版: Debian Ubuntu
信任 Docker 的 GPG 公钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
对于 amd64 架构的计算机,添加软件仓库(该部分将docker官方仓库地址修改为清华大学开源软件镜像站地址以提高下载速度):
sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) \ stable"
如果你是树莓派或其它ARM架构计算机,请运行:
echo "deb [arch=armhf] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list
最后安装
sudo apt-get update sudo apt-get install docker-ce
以下内容根据 官方文档 修改而来。
如果你之前安装过 docker,请先删掉
sudo yum remove docker docker-common docker-selinux docker-engine
安装一些依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
根据你的发行版下载repo文件: CentOS/RHEL Fedora
wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
把软件仓库地址替换为 TUNA:
sudo sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
最后安装:
sudo yum makecache fast sudo yum install docker-ce
root
用户管理docker
默认情况下,docker只能在root用户权限下运行,非root用户需要使用sudo才能运行。最新版的Docker通过添加docker用户组来实现非root权限用户操作docker的功能。需要注意的是,docker用户组实质上和root用户是一样的,因此其对系统安全的影响也是一样的。要使用非root用户管理docker。
首先创建 docker
用户组:
sudo groupadd docker
然后将当前用户添加到 docker
用户组中:
sudo usermod -aG docker $USER
注销当前用户并重新登录(或者重启电脑)后,用户即可被添加到 docker
用户组中。在linux系统中,也可以通过以下命令快速激活 docker
用户组。
newgrp docker
要确定上述操作是否生效,可在命令行运行如下命令进行测试,该命令会从docker官方下载 hello-world
镜像并运行:
docker run hello-world
如果在将当前用户添加到 docker
用户组之前就使用 sudo
运行过docker命令行,那么可能会提示如下错误。
WARNING: Error loading config file: /home/user/.docker/config.json - stat /home/user/.docker/config.json: permission denied
该错误告诉你你的 ~/.docker/
文件夹创建的权限不正确。这个问题可以通过移除个人目录下的 .docker
文件夹并由系统重新创建生成,或者修改该文件夹所有者权限来解决。
$ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R $ sudo chmod g+rwx "$HOME/.docker" -R
在现代的大部分Linux系统发行版中,都通过 systemd
来管理随系统开机自启动的服务(在 Ubuntu14.04
或更低的版本下使用 upstart
) , 通过以下命令使用 systemd
来启动或者禁用docker开机自启动功能。
sudo systemctl enable docker //启用docker服务 sudo systemctl disable docker //禁用docker服务
Docker
通过 upstart
服务自动配置了开机启动的功能,要禁用该功能,可以使用以下命令:
echo manual | sudo tee /etc/init/docker.override