侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

部署维护docker环境的详细教程

Docker  /  管理员 发布于 7年前   257

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.repoyum 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/configsetenforce 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 Cy 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 centosNAME        DESCRIPTION          STARS  OFFICIAL AUTOMATEDcentos        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-phpPulling 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 imagesREPOSITORY      TAG     IMAGE ID   CREATED    VIRTUAL SIZEcentos       latest    dade6cb4530a  10 days ago   210.1 MBjdeathe/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 hostnamedb7e1d2269fb

(6)列出容器

 查看最近生成的容器:docker ps -l

 查看正在运行的容器:docker ps

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

(7)显示容器标准输出

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

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

[root@dockermain-154 run]# sudo docker run centos yum install -y httpdLoaded 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:httpd1e0915f3247b86414ebc11fd994fc6abfb590ff3b1ab890949c845ee88b2d9f4[root@dockermain-154 ~]# docker imagesREPOSITORY      TAG     IMAGE ID   CREATED    VIRTUAL SIZEcentos       httpd    1e0915f3247b  9 seconds ago  320.8 MBcentos       latest    dade6cb4530a  10 days ago   210.1 MBjdeathe/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 infoContainers: 14Images: 56Storage Driver: aufs Root Dir: /var/lib/docker/aufs Dirs: 89Execution Driver: native-0.2Kernel Version: 3.10.5-3.el6.x86_64Operating System: <unknown>CPUs: 1Total Memory: 989.6 MiBName: dockermain-154ID: W4PW:W3XR:FQZE:SBAA:2DS2:BM6N:DV5B:ARF2:3SZM:XGST:5ZF7:DFZVWARNING: No swap limit support

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

[root@dockermain-154 ~]# docker run -i -t centos /bin/bash[root@7c0414d03fe7 /]# lsbin dev etc home lib lib64 lost+found media mnt opt proc root run sbin selinux srv sys tmp usr var

以上所述是小编给大家介绍的部署维护docker环境的详细教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站的支持!


  • 上一条:
    docker官方镜像下载及使用Dockerfile创建镜像的方法
    下一条:
    Docker网络代理设置详解
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在docker环境中实现Laravel项目执行定时任务和消息队列流程步骤(0个评论)
    • 在MacBook下laravel项目多php版本docker开发环境配置方案(0个评论)
    • 在docker环境中部署docker部署elk架构流程步骤(1个评论)
    • docker compose跟Dockerfile的区别浅析(0个评论)
    • Ubuntu 22.04系统中安装podman流程步骤(1个评论)
    • 近期文章
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2017-11
    • 2020-06
    • 2021-05
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-03
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-11
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2024-03
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客