q528 发表于 2017-12-6 14:18:51

docker安装使用

#yum install docker-io
#/etc/init.d/docker start
#docker search centos
#docker run centos /bin/echo hello
#docker run --name mydocker -it centos /bin/bash
#docker run -d --name mynginx nginx
#docker start 2e9573e69b8d
#docker inspect --format "{{.State.Pid}}" mynginx
#nsenter --target 2668 --mount --uts --ipc --pid --net
#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   
#docker run -it --name volume-test1 -h nginx   -v /data centos
#
# docker inspect -f {{.Volumes}} volume-test1
  map
# cd /var/lib/docker/volumes/ecdbe13a4d9e3c64f860f12927627afa932b0d0ff50be1c42bfc5e9bc8c70f5b/
# ls
  _data
# cd _data/
# touch hehe
# cd /data/
# ls
  hehe
  制作nginx镜像
# docker run -it --name nginx-man centos
# yum install -y gcc gcc-c++ make openssl-devel wget
#wget http://nginx.org/download/nginx-1.9.15.tar.gz
#wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz
# vi /etc/rc.local
  /usr/local/ngiinx/sbin/nginx
# vi /usr/local/nginx/conf/nginx.conf
  daemon off;
# docker ps -l
  CONTAINER ID      IMAGE               COMMAND             CREATED             STATUS            PORTS               NAMES
  45f903b1d4f5      centos            "/bin/bash"         34 minutes ago      Up 31 minutes                           nginx-man   
# docker commit -m "my nginx" 45f903b1d4f5 ffhm/my-nginx:v1
  8f61041343b1dbca04e4a9d3c8fdd147543c1fa059ab50ad1eeac125b8d6d707
# docker pull registry
# 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
  本文出自 “大胖” 博客,http://fatty.blog.51cto.com/11408463/1766055
页: [1]
查看完整版本: docker安装使用