Docker存储引擎及镜像加速(小节2)

139 阅读3分钟

Docker存储引擎

阿里镜像下载地址:mirrors.aliyun.com/docker-ce/l…

查看系统版本(推荐一定要使用7.5以上版本、否则会出现后续问题)

7 ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
7 ~]# cd /usr/local/src/
src]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/docker-ce-19.03.9-3.el7.x86_64.rpm
src]# wget https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/docker-ce-cli-19.03.9-3.el7.x86_64.rpm

CentOS 7(使用 yum 进行安装)

Docker CE镜像 配置方法:developer.aliyun.com/mirror/dock…

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
sudo yum makecache fast

需要和安装包在同一目录下

src]# yum localinstall docker-ce* -y

启动docker

src]# systemctl start docker
[root@centos7 src]# docker info
Client:
 Debug Mode: false

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 19.03.9
 Storage Driver: devicemapper    <--存储驱动程序
  Pool Name: docker-253:0-402813732-pool
  Pool Blocksize: 65.54kB
  Base Device Size: 10.74GB
  Backing Filesystem: xfs
  Udev Sync Supported: true
  Data file: /dev/loop0
  Metadata file: /dev/loop1
  Data loop file: /var/lib/docker/devicemapper/devicemapper/data
  Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
  Data Space Used: 11.8MB
  Data Space Total: 107.4GB   #总空间107G、如果空间用完了就再也写不进去数据了
  Data Space Available: 102.9GB
  Metadata Space Used: 581.6kB
  Metadata Space Total: 2.147GB
  Metadata Space Available: 2.147GB
  Thin Pool Minimum Free Space: 10.74GB
  Deferred Removal Enabled: true
  Deferred Deletion Enabled: true
  Deferred Deleted Device Count: 0
  Library Version: 1.02.170-RHEL7 (2020-03-24)
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 78f51771157abb6c9ed224c22013cdf09962315d
 runc version: v1.1.4-0-g5fd4c4d
 init version: fec3683
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 3.10.0-327.el7.x86_64
 Operating System: CentOS Linux 7 (Core)
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 2.766GiB
 Name: centos7.2
 ID: OOJO:7KD5:VV7Z:LT3O:2L66:H2C4:PKIX:AUJ2:XK3A:ZR4G:WKS4:C2P5
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
#警告:devicemapper存储驱动程序已弃用,将在将来的版本中删除。
WARNING: the devicemapper storage-driver is deprecated, and will be removed in a future release.
#警告:devicemapper:强烈建议在生产中使用环回设备。
WARNING: devicemapper: usage of loopback devices is strongly discouraged for production use.
#使用`--storage opt-dm。thinpooldev”指定自定义块存储设备。
         Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.

下载nginx镜像

~]# docker pull nginx
~]# docker run -d -it -p 80:80 nginx
#容器
~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
135c15a010f0        nginx               "/docker-entrypoint.…"   10 seconds ago      Up 7 seconds        0.0.0.0:80->80/tcp   agitated_wiles

#镜像
~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              3964ce7b8458        4 days ago          142MB

修改存储驱动程序类型

一定要提前备份数据!!!否则数据会全丢!!![无论是镜像'docker images'、还是容器'docker ps -a']

src]# vim /lib/systemd/system/docker.service
...
[Service]
#添加 -s=overlay2
ExecStart=/usr/bin/dockerd -s=overlay2 -H fd:// --containerd=/run/containerd/containerd.sock
...

src]# systemctl daemon-reload
#重启docker
src]# systemctl restart docker

image.png

解决办法

关机新添加1块500G的硬盘 图片.png

查看是否有500G硬盘了

~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  100G  0 disk 
├─sda1            8:1    0  512M  0 part /boot
└─sda2            8:2    0 99.5G  0 part 
  ├─centos-root 253:0    0 97.5G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0  500G  0 disk     <--
sr0              11:0    1  603M  0 rom

开启 ftype=1 图片.png

挂载到docker

~]# mount /dev/sdb /var/lib/docker/

重启docker

~]# systemctl daemon-reload
~]# systemctl start docker

就会变成overlay2

~]# docker info
...
 Storage Driver: overlay2    <--存储驱动程序
...

镜像加速

  1. 安装/升级Docker客户端

推荐安装1.10.0以上版本的Docker客户端,参考 docker-ce

  1. 配置镜像加速器

针对Docker客户端版本大于 1.10.0 的用户

#针对Ubuntu/Linux操作系统
~# sudo mkdir -p /etc/docker

~# cat /etc/docker/daemon.json
{
    "registry-mirrors": ["https://9916w1ow.mirror.aliyuncs.com"]
}

~# sudo systemctl daemon-reload
~# sudo systemctl restart docker