docker--学习笔记

二,安装Docker

  2.1--检测安装的前提条件

  1.内核

   确认服务器安装了3.8或者更高的内核版本。   

1 [root@ecs-d68e-0003 data]# uname -a
2 Linux ecs-d68e-0003.novalocal 3.10.0-693.11.1.el7.x86_64 #1 SMP Mon Dec 4 23:52:40 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

  2.检查 Device Mapper

  Device Mapper作为docker的存储驱动,为docker提供存储能力,确认是否安装。

[root@ecs-d68e-0003 ~]# ls -l /sys/class/misc/device-mapper
lrwxrwxrwx 1 root root 0 Jun 15 17:10 /sys/class/misc/device-mapper -> ../../devices/virtual/misc/device-mapper

  如果你的没有检测到,需要安装device-mapper

yum install -y device-mapper

  还需要加载dm_mod模块

modprobe dm_mod

  2.2--安装Docker

[root@ecs-d68e-0003 ~]# yum install -y docker-io
......
......

Installed:
  docker.x86_64 2:1.13.1-63.git94f4240.el7.centos                                                                                                                                                                                            

Dependency Installed:
  docker-client.x86_64 2:1.13.1-63.git94f4240.el7.centos                                                                docker-common.x86_64 2:1.13.1-63.git94f4240.el7.centos                                                               

Complete!

  安装完成

  2.3--docker的守护进程

  1.启动 

[root@ecs-d68e-0003 ~]# systemctl start docker

  2.添加docker的守护进程为开机启动项

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

  3.检测Docker是否正确安装

[root@ecs-d68e-0003 ~]# docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 1.13.1
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: journald
Cgroup Driver: systemd
Plugins: 
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: docker-runc runc
Default Runtime: docker-runc
Init Binary: /usr/libexec/docker/docker-init-current
containerd version:  (expected: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1)
runc version: e9c345b3f906d5dc5e8100b05ce37073a811c74a (expected: 9df8b306d01f59d3a8029be411de015b7304dd8f)
init version: 5b117de7f824f3d3825737cf09581645abbe35d4 (expected: 949e6facb77383876aeff8a6944dde66b3089574)
Security Options:
 seccomp
  WARNING: You're not using the default seccomp profile
  Profile: /etc/docker/seccomp.json
Kernel Version: 3.10.0-693.11.1.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
Number of Docker Hooks: 3
CPUs: 4
Total Memory: 7.639 GiB
Name: ecs-d68e-0003.novalocal
ID: 2UIG:WL75:4G6D:2VFS:YL7I:2OLN:O6IU:TTZQ:DBY2:F5VW:QOJQ:QJFS
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
Registries: docker.io (secure)

  4.检测Docker的守护进程是不是正常运行,Docker是以root权限运行它的守护进程的,来处理普通用户无法完成的操作(如挂载文件系统)。dcoker程序 Docker守护进程的客户端程序,同样也需要以root身份运行。用户可以使用docker命令控制Dokcer守护进程。

  当Docker的守护进程启动时,守护进程监听/var/run/docker.sock这个套接字文件,来获取来自客户端的Docker请求。

[root@ecs-d68e-0003 ~]# service docker status
Redirecting to /bin/systemctl status docker.service
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2018-06-15 17:18:09 CST; 22min ago
     Docs: http://docs.docker.com
 Main PID: 29827 (dockerd-current)

  5.查看守护进程的状态

[root@ecs-d68e-0003 ~]# service docker status
Redirecting to /bin/systemctl status docker.service
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2018-06-15 17:18:09 CST; 22min ago
     Docs: http://docs.docker.com
 Main PID: 29827 (dockerd-current)

  6.启动和停止

service docker start --启动
service docker stop  --停止

三、卸载docker

  查看docker 安装条目

 [root@ecs-d68e-0003 data]# yum list installed|grep docker
 docker.x86_64                        2:1.13.1-63.git94f4240.el7.centos @extras  
 docker-client.x86_64                 2:1.13.1-63.git94f4240.el7.centos @extras  
 docker-common.x86_64                 2:1.13.1-63.git94f4240.el7.centos @extras  

  逐条卸载

[root@ecs-d68e-0003 data]# yum -y remove docker.x86_64 
[root@ecs-d68e-0003 data]# yum -y remove docker-client.x86_64 
[root@ecs-d68e-0003 data]# yum -y remove docker-common.x86_64

  再次查看安装条目,删除docker镜像

[root@ecs-d68e-0003 data]# yum list installed|grep docker
[root@ecs-d68e-0003 data]# rm -rf /var/lib/docker  

四、容器的运行

1.运行第一个容器

[root@ecs-d68e-0003 ~]# docker run -i -t centos /bin/bash
Unable to find image 'centos:latest' locally
Trying to pull repository docker.io/library/centos ... 
latest: Pulling from docker.io/library/centos
7dc0dca2b151: Pull complete 
Digest: sha256:b67d21dfe609ddacf404589e04631d90a342921e81c40aeaf3391f6717fa5322
Status: Downloaded newer image for docker.io/centos:latest
[root@92ba035b0a41 /]

解释说明:

告诉Docker执行docker run 命令,并制定了-i 和 -t 参数。

-i参数保证容器中的STDIN(标准输入)是开启的。

-t参数告诉Docker为要创建的容器分配一个伪tty终端。

这样创建的容器才能提供一个交互式的shell。若要创建一个我们能与之交互的容器,而不是一个运行后台服务的容器,则这两个参数已经是最基本的参数了。

猜你喜欢

转载自www.cnblogs.com/abbiex/p/9188321.html