Docker是一个开源工具,它可以让创建和管理linux容器变得简单。容器就像是轻量级的虚拟机,作为一种新兴的虚拟化方式,Docker跟传统的虚拟化方式相比具有众多优势。
  1. 环境:Centos7

  2. ip:172.16.1.10

  3. Docker version 1.13.1

RHEL7 Docker 虚拟化使用(一)_第1张图片

安装docker

[root@localhost ~]# yum install -y docker
已加载插件:fastestmirror, langpacks
base                                                                                                                                             | 3.6 kB  00:00:00     
extras                                                                                                                                           | 2.9 kB  00:00:00     
updates                                                                                                                                          | 2.9 kB  00:00:00     
updates/7/x86_64/primary_db                                                                                                                      | 6.7 MB  00:00:08     
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.neusoft.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 docker.x86_64.2.1.13.1-108.git4ef4b30.el7.centos 将被 安装
--> 正在处理依赖关系 docker-common = 2:1.13.1-108.git4ef4b30.el7.centos,它被软件包 2:docker-1.13.1-108.git4ef4b30.el7.centos.x86_64 需要
--> 正在处理依赖关系 docker-client = 2:1.13.1-108.git4ef4b30.el7.centos,它被软件包 2:docker-1.13.1-108.git4ef4b30.el7.centos.x86_64 需要
--> 正在处理依赖关系 subscription-manager-rhsm-certificates,它被软件包 2:docker-1.13.1-108.git4ef4b30.el7.centos.x86_64 需要
--> 正在检查事务
---> 软件包 docker-client.x86_64.2.1.13.1-108.git4ef4b30.el7.centos 将被 安装
---> 软件包 docker-common.x86_64.2.1.13.1-108.git4ef4b30.el7.centos 将被 安装
--> 正在处理依赖关系 skopeo-containers >= 1:0.1.26-2,它被软件包 2:docker-common-1.13.1-108.git4ef4b30.el7.centos.x86_64 需要
--> 正在处理依赖关系 oci-umount >= 2:2.3.3-3,它被软件包 2:docker-common-1.13.1-108.git4ef4b30.el7.centos.x86_64 需要
--> 正在处理依赖关系 oci-systemd-hook >= 1:0.1.4-9,它被软件包 2:docker-common-1.13.1-108.git4ef4b30.el7.centos.x86_64 需要
--> 正在处理依赖关系 oci-register-machine >= 1:0-5.13,它被软件包 2:docker-common-1.13.1-108.git4ef4b30.el7.centos.x86_64 需要
--> 正在处理依赖关系 container-storage-setup >= 0.9.0-1,它被软件包 2:docker-common-1.13.1-108.git4ef4b30.el7.centos.x86_64 需要
--> 正在处理依赖关系 container-selinux >= 2:2.51-1,它被软件包 2:docker-common-1.13.1-108.git4ef4b30.el7.centos.x86_64 需要
......

--> 正在处理依赖关系 policycoreutils = 2.5-17.1.el7,它被软件包 policycoreutils-python-2.5-17.1.el7.x86_64 需要
---> 软件包 policycoreutils.x86_64.0.2.5-33.el7 将被 更新
--> 正在处理依赖关系 libselinux-utils >= 2.5-14,它被软件包 policycoreutils-2.5-33.el7.x86_64 需要
--> 正在检查事务
---> 软件包 libselinux.x86_64.0.2.5-11.el7 将被 升级
--> 正在处理依赖关系 libselinux(x86-64) = 2.5-11.el7,它被软件包 libselinux-python-2.5-11.el7.x86_64 需要
---> 软件包 libselinux.x86_64.0.2.5-14.1.el7 将被 更新
---> 软件包 libselinux-utils.x86_64.0.2.5-11.el7 将被 升级
---> 软件包 libselinux-utils.x86_64.0.2.5-14.1.el7 将被 更新
---> 软件包 libsemanage-python.x86_64.0.2.5-8.el7 将被 升级
---> 软件包 libsemanage-python.x86_64.0.2.5-14.el7 将被 更新
---> 软件包 libsepol.x86_64.0.2.5-6.el7 将被 升级
---> 软件包 libsepol.x86_64.0.2.5-10.el7 将被 更新
---> 软件包 policycoreutils-python.x86_64.0.2.5-17.1.el7 将被 升级
---> 软件包 policycoreutils-python.x86_64.0.2.5-33.el7 将被 更新
--> 正在处理依赖关系 setools-libs >= 3.3.8-4,它被软件包 policycoreutils-python-2.5-33.el7.x86_64 需要
--> 正在检查事务
---> 软件包 libselinux-python.x86_64.0.2.5-11.el7 将被 升级
---> 软件包 libselinux-python.x86_64.0.2.5-14.1.el7 将被 更新
---> 软件包 setools-libs.x86_64.0.3.3.8-1.1.el7 将被 升级
---> 软件包 setools-libs.x86_64.0.3.3.8-4.el7 将被 更新
--> 解决依赖关系完成

依赖关系解决

省略......
           

作为依赖被升级:
  libselinux.x86_64 0:2.5-14.1.el7                             libselinux-python.x86_64 0:2.5-14.1.el7             libselinux-utils.x86_64 0:2.5-14.1.el7             
  libsemanage.x86_64 0:2.5-14.el7                              libsemanage-python.x86_64 0:2.5-14.el7              libsepol.x86_64 0:2.5-10.el7                       
  policycoreutils.x86_64 0:2.5-33.el7                          policycoreutils-python.x86_64 0:2.5-33.el7          selinux-policy.noarch 0:3.13.1-252.el7_7.6         
  selinux-policy-targeted.noarch 0:3.13.1-252.el7_7.6          setools-libs.x86_64 0:3.3.8-4.el7                  

完毕!

启动docker

[root@localhost ~]# systemctl start docker

设置开机自启

[root@localhost ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

获取镜像

[root@localhost ~]# docker pull centos
Using default tag: latest
Trying to pull repository docker.io/library/centos ... 
latest: Pulling from docker.io/library/centos
8a29a15cefae: Pull complete 
Digest: sha256:fe8d824220415eed5477b63addf40fb06c3b049404242b31982106ac204f6700
Status: Downloaded newer image for docker.io/centos:latest

查看下载的镜像

[root@localhost ~]# docker images centos
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/centos    latest              470671670cac        6 weeks ago         237 MB

查看docker状态

[root@localhost ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since 一 2020-03-02 20:50:46 CST; 27min ago
     Docs: http://docs.docker.com
 Main PID: 24748 (dockerd-current)
   CGroup: /system.slice/docker.service
           ├─24748 /usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupd...
           └─24753 /usr/bin/docker-containerd-current -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-...

3月 02 20:50:43 localhost.localdomain dockerd-current[24748]: time="2020-03-02T20:50:43.911901519+08:00" level=info msg="libcontainerd: new containerd proce...: 24753"
3月 02 20:50:45 localhost.localdomain dockerd-current[24748]: time="2020-03-02T20:50:45.142091477+08:00" level=info msg="Graph migration to content-addressa...seconds"
3月 02 20:50:45 localhost.localdomain dockerd-current[24748]: time="2020-03-02T20:50:45.143284289+08:00" level=info msg="Loading containers: start."
3月 02 20:50:45 localhost.localdomain dockerd-current[24748]: time="2020-03-02T20:50:45.225796058+08:00" level=info msg="Firewalld running: true"
3月 02 20:50:45 localhost.localdomain dockerd-current[24748]: time="2020-03-02T20:50:45.954561065+08:00" level=info msg="Default bridge (docker0) is assigne...address"
3月 02 20:50:46 localhost.localdomain dockerd-current[24748]: time="2020-03-02T20:50:46.527870909+08:00" level=info msg="Loading containers: done."
3月 02 20:50:46 localhost.localdomain dockerd-current[24748]: time="2020-03-02T20:50:46.629201628+08:00" level=info msg="Daemon has completed initialization"
3月 02 20:50:46 localhost.localdomain dockerd-current[24748]: time="2020-03-02T20:50:46.629229137+08:00" level=info msg="Docker daemon" commit="4ef4b30/1.13...n=1.13.1
3月 02 20:50:46 localhost.localdomain systemd[1]: Started Docker Application Container Engine.
3月 02 20:50:46 localhost.localdomain dockerd-current[24748]: time="2020-03-02T20:50:46.642881482+08:00" level=info msg="API listen on /var/run/docker.sock"
Hint: Some lines were ellipsized, use -l to show in full.

以上就是docker部分使用命令