原理就不讲了,会的人都清楚,安装使用和碰到个一些故障的简单描述,很多具体看下官方文档吧,那里讲的很详细



[root@NFS1-1 ~]#yum install docker-io

[root@NFS1-1 ~]#/etc/init.d/docker start

[root@NFS1-1 ~]#docker search centos

[root@NFS1-1 ~]#docker run centos /bin/echo hello

[root@NFS1-1 ~]#docker run --name mydocker -it centos /bin/bash

[root@NFS1-1 ~]#docker run -d --name mynginx nginx

[root@NFS1-1 ~]#docker start 2e9573e69b8d

[root@NFS1-1 ~]#docker inspect --format "``.`State`.`Pid`" mynginx

[root@NFS1-1 ~]#nsenter --target 2668 --mount --uts --ipc --pid --net

[root@NFS1-1 ~]#docker run -d -P --name mynaginx nginx #-P随机指定端口

docker ps -l

CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS                                           NAME

S9a2f61b33f3f        nginx               "nginx -g 'daemon of   12 seconds ago      Up 11 seconds       0.0.0.0:32769->80/tcp, 0.0.0.0:32768->443/tcp   myna

ginx     


[root@NFS1-1 ~]#docker run -it --name volume-test1 -h nginx   -v /data centos

[root@nginx /]#



[root@NFS1-1 ~]# docker inspect -f ``.`Volumes` volume-test1

map[/data:/var/lib/docker/volumes/ecdbe13a4d9e3c64f860f12927627afa932b0d0ff50be1c42bfc5e9bc8c70f5b/_data]

[root@NFS1-1 ~]# cd /var/lib/docker/volumes/ecdbe13a4d9e3c64f860f12927627afa932b0d0ff50be1c42bfc5e9bc8c70f5b/

[root@NFS1-1 ecdbe13a4d9e3c64f860f12927627afa932b0d0ff50be1c42bfc5e9bc8c70f5b]# ls

_data

[root@NFS1-1 ecdbe13a4d9e3c64f860f12927627afa932b0d0ff50be1c42bfc5e9bc8c70f5b]# cd _data/

[root@NFS1-1 _data]# touch hehe



[root@nginx /]# cd /data/

[root@nginx data]# ls

hehe


制作nginx镜像

[root@NFS1-1 ~]# docker run -it --name nginx-man centos

[root@45f903b1d4f5 /]# yum install -y gcc gcc-c++ make openssl-devel wget

[root@45f903b1d4f5 /]#wget http://nginx.org/download/nginx-1.9.15.tar.gz

[root@45f903b1d4f5 /]#wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz

[root@45f903b1d4f5 ~]# vi /etc/rc.local

/usr/local/ngiinx/sbin/nginx


[root@45f903b1d4f5 ~]# vi /usr/local/nginx/conf/nginx.conf

daemon off;

[root@NFS1-1 ~]# docker ps -l

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

45f903b1d4f5        centos              "/bin/bash"         34 minutes ago      Up 31 minutes                           nginx-man   

[root@NFS1-1 ~]# docker commit -m "my nginx" 45f903b1d4f5 ffhm/my-nginx:v1

8f61041343b1dbca04e4a9d3c8fdd147543c1fa059ab50ad1eeac125b8d6d707

[root@NFS1-1 ~]# docker pull registry

[root@NFS1-1 ~]# docker tag ID 10.0.0.7/test/es:v1





web管理工具

shipuard


工具篇

stress压力测试

docker run -it --rm -c 0 stress --cpu

docker run -it --rm -m 128M stress --vm 1 --vm-bytes 120m --vm-hang 0 






方便脚本篇

#!/bin/bash

CNAME=$1

CPID=$(docker inspect --format "``.`State`.`Pid`" $CNAME)

nsenter --target "$CPID" --mount --uts --pid --net --ipc







故障篇


错误一

提示:Segmentation Fault or Critical Error encountered. Dumping core and aborting.

Aborted

解答:安装错误安装docker了,应该安装docker-io


错误二

提示:Transaction Check Error:

  file /usr/bin/docker from install of docker-io-1.7.1-2.el6.x86_64 conflicts with file from package docker-1.5-5.el6.x86_64

解答:这个是因为先装了docker,再装docker-io后的结果,解决方法是yum remove docker后再yum install docker-io即可。



问题三

提示:Get http:///var/run/docker.sock/v1.19/images/search?term=centos: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a ?

解答:docker没有启动,/etc/init.d/docker start


问题四

不能使用这来进入容器,会把容器死掉并且进不去。

docker attach 2e9573e69b8d

解决方法 使用  nsenter PID进入容器

docker inspect --format "``.`State`.`Pid`" mynginx   #获取PID

nsenter --target 2668 --mount --uts --ipc --pid --net  #用PID进入

nsenter属于这个包,没有用yum install util-linux装上。




问题五

docker run -it --name volume-test1 -h nginx   -v /data nginx

没有结果一直卡着,这个是nginx的容器问题

换个容器吧

换成centos就可以了

docker run -it --name volume-test1 -h nginx   -v /data centos