其实前面已经用salt,安装部署了docker应用环境了,过程中还是遇到了不少问题,所以这里再相对仔细的记录一下,docker手机安装过程应注意的事情 安装过程部分参考了刘天斯大师文档部署

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 http://www.hop5.in/yum/el6/hop5.repo
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 http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
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 https://github.com/kelseyhightower/confd/releases/download/v0.6.3/confd-0.6.3-linux-amd64
# 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 https://github.com/coreos/etcd/releases/download/v0.4.6/etcd-v0.4.6-linux-amd64.tar.gz
# 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: <unknown>
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

部署维护docker环境的更多相关文章

  1. docker环境下solr6.0配置(中文分词+拼音)

    前言:这篇文章是基于之前的“linux环境下配置solr5.3详细步骤”(http://www.cnblogs.com/zhangyuan0532/p/4826740.html)进行扩展的.本篇的步骤 ...

  2. .netcore mvc docker环境jenkins一键部署(DevOps)

    [前言] DevOps方面的文章很早之前就想分享了,挤出一点时间把前段时间搭建的一些提高开发效率的东西给大家分享一下吧. 本文介绍了一个.netcore mvc web项目,从项目push到githu ...

  3. Docker环境 ELK 快速部署

    Docker环境 ELK快速部署 环境 Centos 7.4 , Docker version 17.12 Docker至少3GB内存: #内核配置 echo ' vm.max_map_count = ...

  4. docker环境部署

    docker环境部署 1 查看当前系统版本 只支持CentOS7版本的系统,如果不是的话,可以让项目方进行重装或者系统内核升级. [root@bogon bin]# cat /etc/redhat-r ...

  5. docker环境下solrcloud+zookeeper集群部署教程

    前言:两个月前的16年11月份完成的配置,使用的solr6.1和zookeeper3.4,刚刚写成blog,目前版本可能有小版本的变化. 本例完成结果为:在docker环境下部署solrcloud集群 ...

  6. [转]基于boot2docker部署Docker环境

    本文转自:https://www.cnblogs.com/52fhy/p/8413029.html Docker轻量级的特性使得我们可以快速打包开发环境:一处编译,到处使用.我们可以在第一次编译好需要 ...

  7. 基于boot2docker部署Docker环境

    Docker轻量级的特性使得我们可以快速打包开发环境:一处编译,到处使用.我们可以在第一次编译好需要的开发环境,然后把镜像导出打包,只有有docker环境,便可以快速还原原来的开发环境. 很常用的一个 ...

  8. Docker环境的持续部署优化实践

    最近两周优化了我们持续部署的程序,收效显著,记录下来分享给大家 背景介绍 那年公司快速成长,频繁上线新项目,每上线一个项目,就需要新申请一批机器,初始化,部署依赖的服务环境,一个脚本行天下 那年项目发 ...

  9. Docker环境下eShopOnContainers部署

    从头开始学eShopOnContainers--Visual Studio 2017环境配置 https://www.cnblogs.com/dusthunter/p/9973815.html 一.安 ...

随机推荐

  1. HDU 5875 Function 优先队列+离线

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5875 Function Time Limit: 7000/3500 MS (Java/Others) ...

  2. lintcode-65-两个排序数组的中位数

    65-两个排序数组的中位数 两个排序的数组A和B分别含有m和n个数,找到两个排序数组的中位数,要求时间复杂度应为O(log (m+n)). 样例 给出数组A = [1,2,3,4,5,6] B = [ ...

  3. 运维学习笔记(三)之T01-03TCP/IP

    TCP/IP协议 简介 通信协议 信息从源传递到目的地的过程中,网络上各设备需要通信,描述网络通信“语言”的规范就是协议. 数据通信协议 决定数据的格式和传输的一组规则. TCP/IP协议简介 一组通 ...

  4. IOC与DI(xml 配置)

    Spring可以帮助我们管理软件开发过程中的对象,以及如何创建和维护对象之间的关系. Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,可以将组建的耦合度降至最低,即实现解耦 ...

  5. 【Linux】- cat命令的源码历史

    转自:Cat 命令的源码历史 以前我和我的一些亲戚争论过计算机科学的学位值不值得读.当时我正在上大学,并要决定是不是该主修计算机.我姨和我表姐觉得我不应该主修计算机.她们承认知道如何编程肯定是很有用且 ...

  6. html5兼容

    You can download the latest version of HTML5shiv from github or reference the CDN version at https:/ ...

  7. HUST1017-Exact Cover

    给出一个\(n\times m\)的01矩阵,每行最多有\(c\)个1,求一个精确覆盖,即选出一些行使得每列有有且仅有一个1.输出方案. 分析 被这个题坑到了啊!!第一次上HUSTOJ做题,不知道没有 ...

  8. post方法的数据类型

    form-data.x-www-form-urlencoded.raw.binary的区别 1. form-data 就是http请求中的multipart/form-data,它会将表单的数据处理为 ...

  9. BZOJ4999 This Problem Is Too Simple!(树上差分+dfs序+树状数组)

    对每个权值分别考虑.则只有单点加路径求和的操作.树上差分转化为求到根的路径和,子树加即可.再差分后bit即可.注意树上差分中根的父亲是0,已经忘了是第几次因为这个挂了. #include<ios ...

  10. 【刷题】HDU 1695 GCD

    Problem Description Given 5 integers: a, b, c, d, k, you're to find x in a...b, y in c...d that GCD( ...