docker学习笔记(二)docker环境安装和基本命令

docker 环境安装

  • 环境准备:
    • centos7虚拟机一台
  • 安装步骤:
    1. 确认linux机器可以链接网络
ping www.baidu.com

出现如下:

PING www.a.shifen.com (61.135.169.125) 56(84) bytes of data.
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=1 ttl=128 time=3.55 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=2 ttl=128 time=2.93 ms

--- www.a.shifen.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 2.937/3.243/3.550/0.311 ms

*** 2.使用yum安装docker***

yum install docker

日志如下:
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.bit.edu.cn
 * extras: mirror.bit.edu.cn
 * updates: mirror.bit.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 docker.x86_64.2.1.13.1-96.gitb2f74b2.el7.centos 将被 安装
--> 正在处理依赖关系 docker-common = 2:1.13.1-96.gitb2f74b2.el7.centos,它被软件包 2:docker-1.13.1-96.gitb2f74b2.el7.centos.x86_64 需要
--> 正在处理依赖关系 docker-client = 2:1.13.1-96.gitb2f74b2.el7.centos,它被软件包 2:docker-1.13.1-96.gitb2f74b2.el7.centos.x86_64 需要
--> 正在处理依赖关系 subscription-manager-rhsm-certificates,它被软件包 2:docker-1.13.1-96.gitb2f74b2.el7.centos.x86_64 需要
--> 正在检查事务
---> 软件包 docker-client.x86_64.2.1.13.1-96.gitb2f74b2.el7.centos 将被 安装
---> 软件包 docker-common.x86_64.2.1.13.1-96.gitb2f74b2.el7.centos 将被 安装
--> 正在处理依赖关系 skopeo-containers >= 1:0.1.26-2,它被软件包 2:docker-common-1.13.1-96.gitb2f74b2.el7.centos.x86_64 需要
--> 正在处理依赖关系 oci-umount >= 2:2.3.3-3,它被软件包 2:docker-common-1.13.1-96.gitb2f74b2.el7.centos.x86_64 需要
--> 正在处理依赖关系 oci-systemd-hook >= 1:0.1.4-9,它被软件包 2:docker-common-1.13.1-96.gitb2f74b2.el7.centos.x86_64 需要
--> 正在处理依赖关系 oci-register-machine >= 1:0-5.13,它被软件包 2:docker-common-1.13.1-96.gitb2f74b2.el7.centos.x86_64 需要
--> 正在处理依赖关系 container-storage-setup >= 0.9.0-1,它被软件包 2:docker-common-1.13.1-96.gitb2f74b2.el7.centos.x86_64 需要
--> 正在处理依赖关系 container-selinux >= 2:2.51-1,它被软件包 2:docker-common-1.13.1-96.gitb2f74b2.el7.centos.x86_64 需要
--> 正在处理依赖关系 atomic-registries,它被软件包 2:docker-common-1.13.1-96.gitb2f74b2.el7.centos.x86_64 需要
---> 软件包 subscription-manager-rhsm-certificates.x86_64.0.1.21.10-3.el7.centos 将被 安装
--> 正在检查事务
---> 软件包 atomic-registries.x86_64.1.1.22.1-26.gitb507039.el7.centos 将被 安装
--> 正在处理依赖关系 python-yaml,它被软件包 1:atomic-registries-1.22.1-26.gitb507039.el7.centos.x86_64 需要
--> 正在处理依赖关系 python-setuptools,它被软件包 1:atomic-registries-1.22.1-26.gitb507039.el7.centos.x86_64 需要
--> 正在处理依赖关系 python-pytoml,它被软件包 1:atomic-registries-1.22.1-26.gitb507039.el7.centos.x86_64 需要
---> 软件包 container-selinux.noarch.2.2.99-1.el7_6 将被 安装
--> 正在处理依赖关系 selinux-policy-targeted >= 3.13.1-216.el7,它被软件包 2:container-selinux-2.99-1.el7_6.noarch 需要
--> 正在处理依赖关系 selinux-policy-base >= 3.13.1-216.el7,它被软件包 2:container-selinux-2.99-1.el7_6.noarch 需要
--> 正在处理依赖关系 selinux-policy >= 3.13.1-216.el7,它被软件包 2:container-selinux-2.99-1.el7_6.noarch 需要
--> 正在处理依赖关系 policycoreutils-python,它被软件包 2:container-selinux-2.99-1.el7_6.noarch 需要
---> 软件包 container-storage-setup.noarch.0.0.11.0-2.git5eaf76c.el7 将被 安装
---> 软件包 containers-common.x86_64.1.0.1.35-2.git404c5bd.el7.centos 将被 安装
---> 软件包 oci-register-machine.x86_64.1.0-6.git2b44233.el7 将被 安装
---> 软件包 oci-systemd-hook.x86_64.1.0.2.0-1.git05e6923.el7_6 将被 安装
--> 正在处理依赖关系 libyajl.so.2()(64bit),它被软件包 1:oci-systemd-hook-0.2.0-1.git05e6923.el7_6.x86_64 需要
---> 软件包 oci-umount.x86_64.2.2.3.4-2.git87f9237.el7 将被 安装
--> 正在检查事务
---> 软件包 PyYAML.x86_64.0.3.10-11.el7 将被 安装
--> 正在处理依赖关系 libyaml-0.so.2()(64bit),它被软件包 PyYAML-3.10-11.el7.x86_64 需要
---> 软件包 policycoreutils-python.x86_64.0.2.5-29.el7_6.1 将被 安装
--> 正在处理依赖关系 policycoreutils = 2.5-29.el7_6.1,它被软件包 policycoreutils-python-2.5-29.el7_6.1.x86_64 需要
--> 正在处理依赖关系 setools-libs >= 3.3.8-4,它被软件包 policycoreutils-python-2.5-29.el7_6.1.x86_64 需要
--> 正在处理依赖关系 libsemanage-python >= 2.5-14,它被软件包 policycoreutils-python-2.5-29.el7_6.1.x86_64 需要
--> 正在处理依赖关系 audit-libs-python >= 2.1.3-4,它被软件包 policycoreutils-python-2.5-29.el7_6.1.x86_64 需要
--> 正在处理依赖关系 python-IPy,它被软件包 policycoreutils-python-2.5-29.el7_6.1.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1(VERS_1.4)(64bit),它被软件包 policycoreutils-python-2.5-29.el7_6.1.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1(VERS_1.2)(64bit),它被软件包 policycoreutils-python-2.5-29.el7_6.1.x86_64 需要
--> 正在处理依赖关系 libcgroup,它被软件包 policycoreutils-python-2.5-29.el7_6.1.x86_64 需要
--> 正在处理依赖关系 libapol.so.4(VERS_4.0)(64bit),它被软件包 policycoreutils-python-2.5-29.el7_6.1.x86_64 需要
--> 正在处理依赖关系 checkpolicy,它被软件包 policycoreutils-python-2.5-29.el7_6.1.x86_64 需要
--> 正在处理依赖关系 libqpol.so.1()(64bit),它被软件包 policycoreutils-python-2.5-29.el7_6.1.x86_64 需要
--> 正在处理依赖关系 libapol.so.4()(64bit),它被软件包 policycoreutils-python-2.5-29.el7_6.1.x86_64 需要
---> 软件包 python-pytoml.noarch.0.0.1.14-1.git7dea353.el7 将被 安装
---> 软件包 python-setuptools.noarch.0.0.9.8-7.el7 将被 安装
--> 正在处理依赖关系 python-backports-ssl_match_hostname,它被软件包 python-setuptools-0.9.8-7.el7.noarch 需要
---> 软件包 selinux-policy.noarch.0.3.13.1-192.el7 将被 升级
---> 软件包 selinux-policy.noarch.0.3.13.1-229.el7_6.15 将被 更新
--> 正在处理依赖关系 libsemanage >= 2.5-13,它被软件包 selinux-policy-3.13.1-229.el7_6.15.noarch 需要
---> 软件包 selinux-policy-targeted.noarch.0.3.13.1-192.el7 将被 升级
---> 软件包 selinux-policy-targeted.noarch.0.3.13.1-229.el7_6.15 将被 更新
---> 软件包 yajl.x86_64.0.2.0.4-4.el7 将被 安装
--> 正在检查事务
---> 软件包 audit-libs-python.x86_64.0.2.8.4-4.el7 将被 安装
--> 正在处理依赖关系 audit-libs(x86-64) = 2.8.4-4.el7,它被软件包 audit-libs-python-2.8.4-4.el7.x86_64 需要
---> 软件包 checkpolicy.x86_64.0.2.5-8.el7 将被 安装
---> 软件包 libcgroup.x86_64.0.0.41-20.el7 将被 安装
---> 软件包 libsemanage.x86_64.0.2.5-11.el7 将被 升级
---> 软件包 libsemanage.x86_64.0.2.5-14.el7 将被 更新
--> 正在处理依赖关系 libsepol >= 2.5-10,它被软件包 libsemanage-2.5-14.el7.x86_64 需要
--> 正在处理依赖关系 libselinux >= 2.5-14,它被软件包 libsemanage-2.5-14.el7.x86_64 需要
---> 软件包 libsemanage-python.x86_64.0.2.5-14.el7 将被 安装
---> 软件包 libyaml.x86_64.0.0.1.4-11.el7_0 将被 安装
---> 软件包 policycoreutils.x86_64.0.2.5-22.el7 将被 升级
---> 软件包 policycoreutils.x86_64.0.2.5-29.el7_6.1 将被 更新
--> 正在处理依赖关系 libselinux-utils >= 2.5-14,它被软件包 policycoreutils-2.5-29.el7_6.1.x86_64 需要
---> 软件包 python-IPy.noarch.0.0.75-6.el7 将被 安装
---> 软件包 python-backports-ssl_match_hostname.noarch.0.3.5.0.1-1.el7 将被 安装
--> 正在处理依赖关系 python-ipaddress,它被软件包 python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch 需要
--> 正在处理依赖关系 python-backports,它被软件包 python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch 需要
---> 软件包 setools-libs.x86_64.0.3.3.8-4.el7 将被 安装
--> 正在检查事务
---> 软件包 audit-libs.x86_64.0.2.8.1-3.el7 将被 升级
--> 正在处理依赖关系 audit-libs(x86-64) = 2.8.1-3.el7,它被软件包 audit-2.8.1-3.el7.x86_64 需要
---> 软件包 audit-libs.x86_64.0.2.8.4-4.el7 将被 更新
---> 软件包 libselinux.x86_64.0.2.5-12.el7 将被 升级
--> 正在处理依赖关系 libselinux(x86-64) = 2.5-12.el7,它被软件包 libselinux-python-2.5-12.el7.x86_64 需要
---> 软件包 libselinux.x86_64.0.2.5-14.1.el7 将被 更新
---> 软件包 libselinux-utils.x86_64.0.2.5-12.el7 将被 升级
---> 软件包 libselinux-utils.x86_64.0.2.5-14.1.el7 将被 更新
---> 软件包 libsepol.x86_64.0.2.5-8.1.el7 将被 升级
---> 软件包 libsepol.x86_64.0.2.5-10.el7 将被 更新
---> 软件包 python-backports.x86_64.0.1.0-8.el7 将被 安装
---> 软件包 python-ipaddress.noarch.0.1.0.16-2.el7 将被 安装
--> 正在检查事务
---> 软件包 audit.x86_64.0.2.8.1-3.el7 将被 升级
---> 软件包 audit.x86_64.0.2.8.4-4.el7 将被 更新
---> 软件包 libselinux-python.x86_64.0.2.5-12.el7 将被 升级
---> 软件包 libselinux-python.x86_64.0.2.5-14.1.el7 将被 更新
--> 解决依赖关系完成

依赖关系解决

========================================================================================================================================================================
 Package                                                  架构                     版本                                                 源                         大小
========================================================================================================================================================================
正在安装:
 docker                                                   x86_64                   2:1.13.1-96.gitb2f74b2.el7.centos                    extras                     18 M
为依赖而安装:
 PyYAML                                                   x86_64                   3.10-11.el7                                          base                      153 k
 atomic-registries                                        x86_64                   1:1.22.1-26.gitb507039.el7.centos                    extras                     35 k
 audit-libs-python                                        x86_64                   2.8.4-4.el7                                          base                       76 k
 checkpolicy                                              x86_64                   2.5-8.el7                                            base                      295 k
 container-selinux                                        noarch                   2:2.99-1.el7_6                                       extras                     39 k
 container-storage-setup                                  noarch                   0.11.0-2.git5eaf76c.el7                              extras                     35 k
 containers-common                                        x86_64                   1:0.1.35-2.git404c5bd.el7.centos                     extras                     21 k
 docker-client                                            x86_64                   2:1.13.1-96.gitb2f74b2.el7.centos                    extras                    3.9 M
 docker-common                                            x86_64                   2:1.13.1-96.gitb2f74b2.el7.centos                    extras                     96 k
 libcgroup                                                x86_64                   0.41-20.el7                                          base                       66 k
 libsemanage-python                                       x86_64                   2.5-14.el7                                           base                      113 k
 libyaml                                                  x86_64                   0.1.4-11.el7_0                                       base                       55 k
 oci-register-machine                                     x86_64                   1:0-6.git2b44233.el7                                 extras                    1.1 M
 oci-systemd-hook                                         x86_64                   1:0.2.0-1.git05e6923.el7_6                           extras                     34 k
 oci-umount                                               x86_64                   2:2.3.4-2.git87f9237.el7                             extras                     32 k
 policycoreutils-python                                   x86_64                   2.5-29.el7_6.1                                       updates                   456 k
 python-IPy                                               noarch                   0.75-6.el7                                           base                       32 k
 python-backports                                         x86_64                   1.0-8.el7                                            base                      5.8 k
 python-backports-ssl_match_hostname                      noarch                   3.5.0.1-1.el7                                        base                       13 k
 python-ipaddress                                         noarch                   1.0.16-2.el7                                         base                       34 k
 python-pytoml                                            noarch                   0.1.14-1.git7dea353.el7                              extras                     18 k
 python-setuptools                                        noarch                   0.9.8-7.el7                                          base                      397 k
 setools-libs                                             x86_64                   3.3.8-4.el7                                          base                      620 k
 subscription-manager-rhsm-certificates                   x86_64                   1.21.10-3.el7.centos                                 updates                   207 k
 yajl                                                     x86_64                   2.0.4-4.el7                                          base                       39 k
为依赖而更新:
 audit                                                    x86_64                   2.8.4-4.el7                                          base                      250 k
 audit-libs                                               x86_64                   2.8.4-4.el7                                          base                      100 k
 libselinux                                               x86_64                   2.5-14.1.el7                                         base                      162 k
 libselinux-python                                        x86_64                   2.5-14.1.el7                                         base                      235 k
 libselinux-utils                                         x86_64                   2.5-14.1.el7                                         base                      151 k
 libsemanage                                              x86_64                   2.5-14.el7                                           base                      151 k
 libsepol                                                 x86_64                   2.5-10.el7                                           base                      297 k
 policycoreutils                                          x86_64                   2.5-29.el7_6.1                                       updates                   916 k
 selinux-policy                                           noarch                   3.13.1-229.el7_6.15                                  updates                   484 k
 selinux-policy-targeted                                  noarch                   3.13.1-229.el7_6.15                                  updates                   6.9 M

事务概要
========================================================================================================================================================================
安装  1 软件包 (+25 依赖软件包)
升级           ( 10 依赖软件包)

总下载量:35 M
Is this ok [y/d/N]: 

输入 Y

作为依赖被升级:
  audit.x86_64 0:2.8.4-4.el7                                     audit-libs.x86_64 0:2.8.4-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                      
  libsepol.x86_64 0:2.5-10.el7                                   policycoreutils.x86_64 0:2.5-29.el7_6.1           selinux-policy.noarch 0:3.13.1-229.el7_6.15          
  selinux-policy-targeted.noarch 0:3.13.1-229.el7_6.15          

完毕!

** docker 环境安装完毕!**

3.配置docker

# 启动docker服务
service docker start
# 将docker设置为开机启动服务
chkconfig docker on

使用systemd语法

systemctl  start docker.service
systemctl  enable docker.service

测试docker服务是否启动

docker version

控制台日志输出:
 Version:         1.13.1
 API version:     1.26
 Package version: docker-1.13.1-96.gitb2f74b2.el7.centos.x86_64
 Go version:      go1.10.3
 Git commit:      b2f74b2/1.13.1
 Built:           Wed May  1 14:55:20 2019
 OS/Arch:         linux/amd64

Server:
 Version:         1.13.1
 API version:     1.26 (minimum version 1.12)
 Package version: docker-1.13.1-96.gitb2f74b2.el7.centos.x86_64
 Go version:      go1.10.3
 Git commit:      b2f74b2/1.13.1
 Built:           Wed May  1 14:55:20 2019
 OS/Arch:         linux/amd64
 Experimental:    false

Docker环境至此安装成功!

HelloWorld Docker


docker 的镜像都是从仓库中拉取下来的,默认的docker官方仓库我们拉取很慢,所以可以使用docker的中文加速器,通过Docker官方镜像加速,中国用户可以快速访问最流行的Docker镜像。
修改系统中docker的配置文件

vim /etc/docker/daemon.json
{
        "registry-mirrors": ["https://registry.docker-cn.com"],
        "live-restore": true
}

从docker中拉取镜像到本地

docker pull library/hello-world
# 默认拉取镜像时没有指定tag时使用的是默认的tag latest
Using default tag: latest
Trying to pull repository docker.io/library/hello-world ... 
latest: Pulling from docker.io/library/hello-world
1b930d010525: Pull complete 
Digest: sha256:6540fc08ee6e6b7b63468dc3317e3303aae178cb8a45ed3123180328bcc1d20f
Status: Downloaded newer image for docker.io/hello-world:latest

查看本地 image文件

docker images
# 显示
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
docker.io/hello-world   latest              fce289e99eb9        7 months ago        1.84 kB

运行容器

docker run hello-world
# 显示结果
Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
....

查看正在运行的容器

docker ps
# 显示,当前并没有容器在运行,说明hello-world已经停止运行了,但对于一些提供服务的应用,例如mysql,redis这种的就不会停止服务
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

###Docker 常用命令

# 从仓库搜索镜像
docker search centos

# 拉取镜像
docker  pull  docker.io/centos

# 指定仓库注册地址拉取镜像
docker pull     xxx.com:5000/myimages

# 创建一个centos系统容器,并运行其中的应用
docker run -it centos /bin/bash
 在容器中  安装一个 上传下载的插件
[root@52f32edf87a0 /]# yum -y install lrzsz
Loaded plugins: fastestmirror, ovl
Determining fastest mirrors
...

# 修改镜像  记住刚刚容器运行时的imageId 其中, -m 来指定提交的说明信息,跟我们使用的版本控制工具一样; -a 可以指定更新的用户信息;之后是用来创建镜像的容器的 ID;最后指定目标镜像的仓库名和 tag 信息。创建成功后会返回这个镜像的 ID
docker commit -m 'add lrzsz to centos7' -a 'me ' e8ea76c6015c  myrepo/mycentos7:lrzsz

# 查看正在运行的docker容器
docker ps

# 查看所有的容器
docker ps  -a

# 查看宿主机镜像  保存在/var/lib/docker中
docker images

# 删除镜像
docker rmi [仓库名]/[镜像名] 或者  docker rmi 镜像Id

# 启动容器
docker start [容器名称]/[容器Id]

# 停止容器
 docker stop [容器名称]/[容器Id]

#  重启容器 
docker restart [容器名称]/[容器Id]

# 删除容器
docker rm   [容器名称]/[容器Id]

# 删除所有停止的容器
docker rm $(docker ps -a -q)

# 查看当前系统docker信息
docker info

参考


Docker入门教程
Docker-从入门到实践

你可能感兴趣的:(docker学习笔记)