General Information
Installing and configuring docker.
Checklist
Docker has switched from docker-engine packages to docker-ce (community edition) and docker-ee (enterprise edition).
docker-engine-ce's last version was 17.05.
Official documentation: https://docs.docker.com/engine/installation/linux/docker-ce/centos/
sudo yum update
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
rpm --import https://download.docker.com/linux/centos/gpg
yum install docker-ce
Docker Data and Meta Data
sudo lvcreate --extents 100%PVS --thin --name lvdockerpool vglocal /dev/sdX1
If you ever need to increase docker container data storage OR metadata storage, they can be resized individually.
lvextend --size +1G -n vglocal/lvdockerpool_tmeta
lvextend --size +10G -n vglocal/lvdockerpool_tdata
Docker container image storage (/var)
sudo lvextend --resizefs --size +7G /dev/vglocal/lvvar
Service Setup
sudo mkdir /etc/systemd/system/docker.service.d
tee /etc/systemd/system/docker.service.d/docker.conf <<-'EOF' [Service] EnvironmentFile= EnvironmentFile=-/etc/sysconfig/docker ExecStart= ExecStart=/usr/bin/dockerd $OPTIONS EOF
tee /etc/sysconfig/docker <<-'EOF' # Modify these options if you want to change the way the docker daemon runs OPTIONS=--storage-driver=devicemapper --storage-opt dm.thinpooldev=vglocal-lvdockerpool --storage-opt dm.use_deferred_deletion=true --storage-opt dm.use_deferred_removal=true EOF
systemctl daemon-reload
sudo systemctl start docker sudo systemctl enable docker sudo systemctl status docker
ps -elf | grep docker | grep -v grep
sudo docker run hello-world
sudo usermod -aG docker <username>
for x in user1 user2 user3; do sudo usermod -aG docker $x; done
docker run hello-world
The Fix
systemctl stop docker
lvremove /dev/vglocal/lvdockerpool
lvcreate --extents 100%PVS --thin --name lvdockerpool vglocal /dev/sde1