Linux环境安装Docker¶
模拟环境的Docker¶
为了能够在测试环境中不断模拟各种实验,我采用两种模式运行Docker:
在KVM虚拟机中运行Docker
复制KVM虚拟机 构建了一个名为 dockerstack
的KVM虚拟机,在KVM虚拟机内部测试各种Docker的功能。这种方式可以保持Host物理主机纯净,不容易搞坏基础环境。虚拟机可以不断clone重建,即使偶尔失误异常也能快速恢复测试环境。
在物理主机MacBook Pro上运行Docker
在MacBook Pro笔记本上,在 Stuido环境Docker容器运行Ceph ,主要原因是获得接近物理主机运行性能,并且轻量级易维护。这种Docker运行基础服务,保持稳定减少折腾。
备注
大多数Docker测试都在 dockerstack
中完成。
RHEL/CentOS平台安装Docker¶
通过发行版安装docker:
sudo yum install docker
启动docker服务:
sudo systemctl start docker
设置docker在操作系统启动时启动:
sudo systemctl enable docker
备注
在CentOS 8上安装Docker CE 方法略有不同。
Debian/Ubuntu平台安装Docker¶
使用Ubuntu发行版的软件仓库安装Docker¶
Ubuntu默认发行版本 docker.io
是可以兼容在Ubuntu主推的LXD系统中,但是版本会较Docker官方低一些。安装非常简便:
sudo apt install docker.io
安装完成后docker服务就已经启动,此时可以使用以下命令查看docker容器:
docker ps
使用Docker官方提供的Docker CE安装Docker¶
Docker官方提供了 Docker CE for Ubuntu ,需要删除掉Ubuntu系统自带
docker.io
软件之后才可以安装:sudo apt-get remove docker docker-engine docker.io
备注
Docker CE on Ubuntu支持 overlay2
和 aufs
存储驱动
设置软件仓库:
sudo apt-get update # 设置apt使用HTTPS访问软件仓库 sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common
添加Docker官方GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
设置Docker官方的
stable
仓库:sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
安装Docker CE:
sudo apt-get update sudo apt-get install docker-ce
验证Docker CE:
sudo docker run hello-world
Arch Linux安装Docker¶
Arch Linux发行版的 docker
软件包就是Docker CE版本,可以直接安装:
sudo pacman -S docker
安装完成后检查:
docker info
备注
Docker支持不同的 Docker存储驱动 ,不同的存储驱动一个影响到容器镜像的存储层(多个镜像共享存储层)性能。
devicemapper
性能较弱,特别在传统磁盘上,所以不建议在生产环境使用 devicemapper
。
由于Arch Linux使用了较新的内核,所以不需要使用兼容选线,通常的较好选项是 overlay2
。
备注
使用 docker info
可以看到存储驱动类型,例如:
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: false
备注
注意,这里 storage driver
不是Docker用于数据持久化存储的 Docker 卷 ,而是用于存储容器镜像的层次型文件系统。
我在 Ubuntu Linux 上采用 Docker btrfs 存储驱动 (虽然现在我更倾向于生产环境使用XFS) ;在 Arch Linux 我采用 Studio环境的LVM+XFS存储 文件系统,所以对应Docker的storage driver是 Docker OverlayFS存储引擎 。
使用Docker官方脚本安装Docker-CE¶
Docker官方提供了便捷的官方安装脚本快速安装:
curl https://get.docker.com | sh \
&& sudo systemctl --now enable docker
无需sudo运行docker¶
使用 docker
指令连接docker服务默认是通过sock,所以用户需要有对 /var/run/docker.sock
读写的权限。
检查操作系统中
docker.sock
文件权限:$ ls -lh /var/run/docker.sock srw-rw---- 1 root docker 0 Feb 11 11:21 /var/run/docker.sock
可以看到 /var/run/docker.sock
属于 docker
用户组(ubuntu系统),如果你使用的操作系统不同,可能是其他用户组,如 root
,则对应加入到相应用户组:
sudo usermod -aG docker $USER
备注
实践发现上述将用户添加到 docker
用户组不能立即生效。我尝试直接重启 docker
服务未生效,实际是重启了操作系统之后才生效。
快速起步¶
当你安装完docker运行环境,我们就可以开始快速 在Docker容器中运行命令 ,体验docker神奇的魔力。当然,如果你使用的操纵系统比较特殊,例如macOS,或者你使用了最新的CentOS 8操作系统,请参考对应环境的安装:
参考¶
Docker Engine on Ubuntu - Ubuntu主推LXC容器(LXD),不过也同时支持Docker Engine