Docker(二)安装部署

  • A+
所属分类:Docker

  Docker只支持64位CPU架构的计算机,目前不支持32位CPU。官方要求最低的Linux内核版本为3.10及以上,Linux内核需开启cgroups和namespace功能。对于非Linux内核的平台,如Microsoft Windows和OS X,需要安装使用Boot2Docker工具。

Docker版本介绍

  随着Docker的不断流行与发展,docker公司(或称为组织)也开启了商业化之路,Docker 从 17.03版本之后分为 社区版CE(Community Edition) 和企业版 EE(Enterprise Edition);

  Docker CE是免费的Docker产品的新名称,Docker CE包含了完整的Docker平台,非常适合开发人员和运维团队构建容器APP。Docker公司认为,Docker CE和EE版本的推出为Docker的生命周期、可维护性以及可升级性带来了巨大的改进。Docker CE分为stable和edge两种发布方式。stable版本是季度发布方式,比如17.03, 17.06, 17.09,适用于希望更加容易维护的用户(稳定版)。edge版本是月份发布方式, 比如17.03, 17.04……,主要面向那些喜欢尝试新功能的用户。

参考:http://www.ywnds.com/?p=12088

检查系统版本

首先升级系统内核,前文介绍过

[root@py ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@py ~]# uname -r
4.14.2-1.el7.elrepo.x86_64

安装docker  ce

[root@node1 ~]# vim /etc/yum.repos.d/docker.repo
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg

[root@node1 ~]# yum install -y docker-engine
[root@py ~]# rpm -qa|grep docker
docker-engine-17.05.0.ce-1.el7.centos.x86_64
docker-engine-selinux-17.05.0.ce-1.el7.centos.noarch

升级:yum update docker-engine

卸载:yum remove docker-engine

运行docker

启动停止docker命令

systemctl start docker
systemctl enable docker
systemctl status docker

查看docker版本

[root@py ~]# docker version
Client:
 Version:      17.05.0-ce
 API version:  1.29
 Go version:   go1.7.5
 Git commit:   89658be
 Built:        Thu May  4 22:06:25 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.05.0-ce
 API version:  1.29 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   89658be
 Built:        Thu May  4 22:06:25 2017
 OS/Arch:      linux/amd64
 Experimental: false

查看docker信息

[root@py ~]# docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 17.05.0-ce
Storage Driver: overlay2
 Backing Filesystem: xfs
 Supports d_type: false
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins: 
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 9048e5e50717ea4497b757314bad98ea3763c145
runc version: 9c2d8d184e5da67c95d601382adf14862e4f2228
init version: 949e6fa
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.14.2-1.el7.elrepo.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 2.883GiB
Name: py
ID: PSOR:LRAF:EKTV:ND4H:YD2Z:DRLG:M23V:N5Z7:QSJ2:25EC:6BXG:5L5Q
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

WARNING: overlay2: the backing xfs filesystem is formatted without d_type support, which leads to incorrect behavior.
         Reformat the filesystem with ftype=1 to enable d_type support.
         Running without d_type support will not be supported in future releases.
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

ifconfig查看网卡,docker会自动创建一个网桥。

运行下docker

[root@py ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
Trying to pull repository docker.io/library/hello-world ... 
latest: Pulling from docker.io/library/hello-world
ca4f61b1923c: Pull complete 
Digest: sha256:75448680c08767be80e03df51672f847a4b001701663b67a19ef5a2bb5a9cd5e

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://cloud.docker.com/

上面是执行成功了,说本地没有hello-world:latest的镜像,去下载了一个镜像,说明网络没有问题。

docker镜像加速器

docker默认使用docker.io仓库下载镜像,由于国内访问比较慢,这里使用阿里云docker加速器,使用加速器将会提升您在国内获取Docker官方镜像的速度!

 参考:https://yq.aliyun.com/articles/29941

cp /usr/lib/systemd/system/docker.service  /tmp/
sed -i "s|ExecStart=/usr/bin/dockerd|ExecStart=/usr/bin/dockerd --registry-mirror=https://1nt21fs2.mirror.aliyuncs.com|g" /usr/lib/systemd/system/docker.service

不通版本替换少有差异,替换器检查下。

重启docker服务

systemctl daemon-reload
systemctl restart docker
systemctl status docker

测试下载速度

[root@py ~]# docker pull mysql

YaLei

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: