1、docker 部署

# 安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加Docker软件包源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装Docker CE
yum install -y docker-ce
# 启动Docker服务并设置开机启动
systemctl start docker
systemctl enable docker

#测试是否成功!!!
docker run hello-world

2、查看docker信息

[root@linux-node1 ~]# docker info  
Containers: 1    #容器信息
 Running: 0        #运行容器数
 Paused: 0        
 Stopped: 1        #停止容器数
Images: 1        #有几个镜像
Server Version: 18.09.0     #当前docker-ce 版本
Storage Driver: overlay2    #存储驱动
 Backing Filesystem: xfs    
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file    #日志格式
Cgroup Driver: cgroupfs    
Plugins:        #支持的插件
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive                #docker集群内部管理Swarm
Runtimes: runc                #创建容器管理容器的引擎
Default Runtime: runc        
Init Binary: docker-init
containerd version: c4446665cb9c30056f4998ed953e6d4ff22c7c39
runc version: 4fc53a81fb7c994640722ac585fa9ca548971871
init version: fec3683
Security Options:
 seccomp
  Profile: default
Kernel Version: 3.10.0-693.21.1.el7.x86_64
Operating System: CentOS Linux 7 (Core)   #当前宿主机器的信息
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.639GiB
Name: linux-node1.98yz.cn
ID: HGHZ:VSEV:UR4I:M2UM:TXPG:DK7X:45QK:LD2L:CE6J:AAAU:X4PG:C7RX
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/    #默认从个接口下载docker镜像的
Labels:
Experimental: false
Insecure Registries:                    #非安全的镜像
 127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine

3、查看docker版本

[root@linux-node1 ~]# docker version
Client:
 Version:           18.09.0
 API version:       1.39
 Go version:        go1.10.4
 Git commit:        4d60db4
 Built:             Wed Nov  7 00:48:22 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.0
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.4
  Git commit:       4d60db4
  Built:            Wed Nov  7 00:19:08 2018
  OS/Arch:          linux/amd64
  Experimental:     false

4、创建一个容器nginx前台

[root@linux-node1 ~]# docker run -it nginx    #其中it是前台运行
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
a5a6f2f73cd8: Pull complete 
9ab922c47467: Pull complete 
6c77b7c267b0: Pull complete 
Digest: sha256:726ad789543f7ecededeba6b68147d86aff5d33f9b5c7ddeef0340a389d2f465
Status: Downloaded newer image for nginx:latest

5、创建一个容器nginx后台

[root@linux-node1 ~]# docker run -itd nginx    #其中d是后台运行

6、新开个窗口查看容器

[root@linux-node1 ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS               NAMES
5c24a89f6bf3        nginx               "nginx -g 'daemon of…"   About a minute ago   Up About a minute   80/tcp              boring_mcnulty

7、查看运行docker nginx的IP

docker inspect 5c24a89f6bf3    #这里可以看到docker的5c24a89f6bf3这个实例的相关信息

8、进入nginx容器

[root@linux-node1 ~]# docker exec -it 5c24a89f6bf3 bash

FAQ:

1、执行docker info出现如下警告
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

解决办法:
vi /etc/sysctl.conf

添加以下内容
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1

最后再执行
sysctl -p

9、扩展:如何进入docker 使用root用户的方式

docker exec -it --user root <container id> /bin/bash
文档更新时间: 2021-01-05 21:57   作者:李延召