Arch Linux
可以使用社区中提供的包进行安装:
或者,使用下面的 AUR 包:
docker 包将安装最新tagged版本的Docker。而 docker-git 包将会从当前master分支上构建。
依赖
Docker 需要依赖几个特定的包。核心的依赖如下:
- bridge-utils
- device-mapper
- iproute2
- lxc
- sqlite
安装
对于标准的包安装相当简单:
$ sudo pacman -S docker
对于 AUR 包,执行如下指令即可:
$ yaourt -S docker-git
在这里假定你已经安装了 yaourt。如果你之前没有这样做过,可以查看 Arch 用户仓库 获取关于构建和安装 AUR 包。
启动 Docker
在这里,systemd 会为 docker 创建一个服务单元。去启动docker 服务:
$ sudo systemctl start docker
设置开机启动:
$ sudo systemctl enable docker
定制 daemon 选项
如果你需要添加一个 HTTP 代理,为 Docker 运行时文件设置一个不同的目录或一个分区,或者其他定制化的设置,请参考Systemd文章去了解更多如何去使用你的 Systemd 定制化Docker daemon 选项。
在一个手动创建的网络里运行 Docker
如果你使用219及更高版本的 systemd
子命令 systemd-network
手动配置你的网络,Docker 启动的容器可能无法访问你的网络。从220版本开始,对于一个给定网络 (net.ipv4.conf.<interface>.forwarding
) 的转发设置默认是关闭的。这样的设置阻止IP的转发。这个设置跟 Docker 设置在容器内的net.ipv4.conf.all.forwarding
相冲突。
为了解决这个问题,可以编辑在你Docker宿主机 /usr/lib/systemd/network/
目录下的 <interface>.network
文件 (如:/usr/lib/systemd/network/80-container-host0.network
) 添加以下内容块:
[Network]
...
IPForward=kernel
...
这样配置允许IP转发来自容器所期望的请求。
卸载
卸载 Docker 包:
$ sudo pacman -R docker
卸载 Docker 包和没用的依赖:
$ sudo pacman -Rns docker
上面的命令不会删除保存本地的镜像、容器、数据卷或用户创建的配置文件。如果你想删除它们,可以使用如下命令:
$ rm -rf /var/lib/docker
你必须手动删除用户创建的配置文件。