Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1785454
  • 博文数量: 636
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 3950
  • 用 户 组: 普通用户
  • 注册时间: 2014-08-06 21:58
个人简介

博客是我工作的好帮手,遇到困难就来博客找资料

文章分类

全部博文(636)

文章存档

2024年(5)

2022年(2)

2021年(4)

2020年(40)

2019年(4)

2018年(78)

2017年(213)

2016年(41)

2015年(183)

2014年(66)

我的朋友

分类: 系统运维

2017-02-08 16:58:44

1,安装环境说明

系统环境:centos6.6
服务应用了:  haproxy  confd   etcd   docker

主机名               ip      服务角色
dockerha-152      192.168.36.152    haproxy confd
dockerEtcd-153     192.168.36.153      etcd
dockermain-154    192.168.36.154    docker 

2,安装依懒包,关闭冲突的服务

官方文档要求Linux kernel至少3.8以上,且docker只能运行在64位的系统中。由于RHEL6和CentOS6的内核版本为2.6,因此必须要先升级内核。 cd /etc/yum.repos.d 
wget 
yum install kernel-ml-aufs kernel-ml-aufs-devel -y

修改grub的主配置文件/etc/grub.conf,设置default=0,表示第一个title下的内容为默认启动的kernel(一般新安装的内核在第一个位置)。
然后重启,重启系统,这时候你的内核就成功升级了,版本应该在3.8以上了,
uname -r [root@dockermain-154 shell]# uname -r
3.10.5-3.el6.x86_64

sed -i '/^SELINUX=/c\SELINUX=disabled' /etc/selinux/config
setenforce 0

在Fedora EPEL源中已经提供了docker-io包,下载安装epel:
rpm -ivh  
sed -i 's/^mirrorlist=https/mirrorlist=http/' /etc/yum.repos.d/epel.repo 

3,安装组件

(1)haproxy confd

dockerha-152上操作

1、haproxy # yum –y install haproxy  

2、confd # wget  # mv confd /usr/local/bin/confd # chmod +x /usr/local/bin/confd # /usr/local/bin/confd -version 

(2)etcd

dockerEtcd-153上操作

# mkdir -p /home/install && cd /home/install # wget  # tar -zxvf etcd-v0.4.6-linux-amd64.tar.gz # cd etcd-v0.4.6-linux-amd64 # cp etcd* /bin/ # /bin/etcd -version  
etcd version 0.4.6 

(3)docker

# yum -y install docker-io # service docker start # chkconfig docker on 

4,docker命令使用

(1)查看帮助

docker COMMAND --help 

(2)搜索可用的境像

docker search name 如示例: [root@dockermain-154 src]# docker search centos
NAME                                DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
centos                              The official build of CentOS. 817 [OK]       
ansible/centos7-ansible             Ansible on Centos7 30 [OK]
tutum/centos                        Centos image with SSH access. For the root... 13 [OK]
jdeathe/centos-ssh-apache-php       CentOS-6 6.5 x86_64 / Apache / PHP / PHP m... 8 [OK]
blalor/centos                       Bare-bones base CentOS 6.5 image 8 [OK]
jprjr/centos-php-fpm 6 [OK]
steeef/graphite-centos              CentOS 6.x with Graphite and Carbon via ng... 6 [OK]
tutum/centos-6.4                    DEPRECATED. Use tutum/centos:6.4 instead. ... 5 [OK]
layerworx/centos                    A general CentOS 6 image with the EPEL6 an... 2 [OK]
jr42/chef-solo-centos               Official CentOS base images with current c... 1 [OK]
million12/centos-supervisor         Base CentOS-7 with supervisord launcher, h... 1 [OK]
internavenue/centos-percona         Centos-based Percona image. 1 [OK]
jdeathe/centos-ssh                  CentOS-6 6.5 x86_64 / EPEL Repo. / OpenSSH... 1 [OK]
jdeathe/centos-ssh-mysql            CentOS-6 6.5 x86_64 / MySQL. Image include... 1 [OK]
yajo/centos-epel                    CentOS with EPEL and fully updated 1 [OK]
nimmis/java-centos                  This is docker images of CentOS 7 with dif... 0 [OK]
lighthopper/orientdb-centos         A Dockerfile for creating an OrientDB imag... 0 [OK]
bbrietzke/centos-starter            CentOS 7 with EPEL and SupervisorD 0 [OK]
tcnksm/centos-node                  Dockerfile for CentOS packaging node 0 [OK]
insaneworks/centos                  CentOS 6.5 x86_64 + @update 0 [OK]
snowyday/centos                     Provide for emacs and Ricty font on X11 en... 0 [OK]
dmglab/centos                       CentOS with superpowers! 0 [OK]
akroh/centos                        Centos 6 container that has been updated w... 0 [OK]
timhughes/centos                    Centos with systemd installed and running 0 [OK]
solict/provisionous-puppet-centos   CentOS provisions with Puppet included 0 [OK] 

(3)下载镜像

注意镜像名称要写全,就是用docker search name 搜出来的NAME列的名称。

docker pull name 如示例: [root@dockermain-154 src]# docker pull jdeathe/centos-ssh-apache-php
Pulling repository jdeathe/centos-ssh-apache-php
........
62203f428b1f: Download complete 
e1812755a4ca: Download complete 
0910edda3736: Download complete 
Status: Downloaded newer image for jdeathe/centos-ssh-apache-php:latest 

(4)查看已安装的镜像

[root@dockermain-154 src]# docker images
REPOSITORY                      TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos                          latest              dade6cb4530a 10 days ago         210.1 MB
jdeathe/centos-ssh-apache-php   latest              f1a489312a4a 3 months ago        297.7 MB 

(5)docker容器中运行命令

docker run命令有两个参数,一个是镜像名,一个是要在镜像中运行的命令。 注意:IMAGE=REPOSITORY[:TAG],如果IMAGE参数不指定镜像的TAG,默认TAG为latest。 [root@dockermain-154 run]# sudo docker run jdeathe/centos-ssh-apache-php echo 'hello world!'
hello world! [root@dockermain-154 run]# sudo docker run jdeathe/centos-ssh-apache-php hostname
db7e1d2269fb 

(6)列出容器

 查看最近生成的容器:docker ps -l
 查看正在运行的容器:docker ps [root@dockermain-154 run]# docker ps -l
CONTAINER ID        IMAGE                                  COMMAND             CREATED             STATUS                      PORTS               NAMES
db7e1d2269fb        jdeathe/centos-ssh-apache-php:latest "hostname" 27 seconds ago      Exited (0) 26 seconds ago                       adoring_babbage 

(7)显示容器标准输出

[root@dockermain-154 run]# docker ps -l
CONTAINER ID        IMAGE                                  COMMAND             CREATED             STATUS                      PORTS               NAMES
db7e1d2269fb        jdeathe/centos-ssh-apache-php:latest "hostname" 27 seconds ago      Exited (0) 26 seconds ago                       adoring_babbage [root@dockermain-154 run]# docker logs db7e1d2269fb
db7e1d2269fb 

(8)给容器中安装程序或服务

[root@dockermain-154 run]# sudo docker run centos yum install -y httpd
Loaded plugins: fastestmirror
..........

Dependency Installed:
  apr.x86_64 0:1.4.8-3.el7                                                      
  apr-util.x86_64 0:1.5.2-6.el7                                                 
  centos-logos.noarch 0:70.0.6-1.el7.centos                                     
  httpd-tools.x86_64 0:2.4.6-19.el7.centos                                      
  mailcap.noarch 0:2.1.41-2.el7                                                 

Failed:
  httpd.x86_64 0:2.4.6-19.el7.centos                                            

Complete! 

(9)保存对容器中的修改并生成新的镜像

docker commit CONTAINERID [REPOSITORY[:TAG]]
REPOSITORY参数可以是新的镜像名字,也可以是旧的镜像名;如果和旧的镜像名和TAG都相同,会覆盖掉旧的镜像。 [root@dockermain-154 ~]# docker commit bd7cc4f4ac92 centos:httpd
1e0915f3247b86414ebc11fd994fc6abfb590ff3b1ab890949c845ee88b2d9f4 [root@dockermain-154 ~]# docker images
REPOSITORY                      TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos                          httpd               1e0915f3247b 9 seconds ago       320.8 MB
centos                          latest              dade6cb4530a 10 days ago         210.1 MB
jdeathe/centos-ssh-apache-php   latest              f1a489312a4a 3 months ago        297.7 MB 

(10)停止正在运行的容器

 

(11)查看容器或镜像详情

下面是我刚保存提交产生的新的容器 [root@dockermain-154 ~]# docker inspect 943e45b6e5f3 [{ "AppArmorProfile": "", "Args": [], "Config": { "AttachStderr": true, "AttachStdin": true, "AttachStdout": true, "Cmd": [ "/bin/bash" ], "CpuShares": 0, "Cpuset": "", "Domainname": "", "Entrypoint": null, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ], "ExposedPorts": null, "Hostname": "943e45b6e5f3", "Image": "centos:httpd", "MacAddress": "", "Memory": 0, "MemorySwap": 0, "NetworkDisabled": false, "OnBuild": null, "OpenStdin": true, "PortSpecs": null, "StdinOnce": true, "Tty": true, "User": "", "Volumes": null, "WorkingDir": "" }, 

(12)删除容器

docker rm CONTAINERID
查看所有容器ID:docker ps -a -q
删除所有的容器:docker rm $(docker ps -a -q) 

(13)删除镜像

docker rmi IMAGE 

(14)查看docker的信息,包括Containers和Images数目、kernel版本等

[root@dockermain-154 ~]# docker info
Containers: 14
Images: 56
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Dirs: 89
Execution Driver: native-0.2
Kernel Version: 3.10.5-3.el6.x86_64
Operating System: 
CPUs: 1
Total Memory: 989.6 MiB
Name: dockermain-154
ID: W4PW:W3XR:FQZE:SBAA:2DS2:BM6N:DV5B:ARF2:3SZM:XGST:5ZF7:DFZV
WARNING: No swap limit support 

(15)创建容器,并像平常ssh登录一样使用

[root@dockermain-154 ~]# docker run -i -t centos /bin/bash [root@7c0414d03fe7 /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  selinux  srv  sys  tmp  usr  var
阅读(558) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~