gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章部署维护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,因此必须要先升级内核.

?
1
2
3
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以上了, 。

?
1
2
uname -r
[root@dockermain-154 shell] # uname -r

3.10.5-3.el6.x86_64 。

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

在Fedora EPEL源中已经提供了docker-io包,下载安装epel:

?
1
2
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  。

?
1
# yum –y install haproxy

2、confd  。

?
1
2
3
4
# 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上操作 。

?
1
2
3
4
5
6
7
# 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 。

?
1
2
3
# yum -y install docker-io
# service docker start
# chkconfig docker on

4,docker命令使用 。

(1)查看帮助 。

?
1
docker COMMAND - -help

(2)搜索可用的境像 。

docker search name 如示例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[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 如示例:

?
1
2
3
4
5
6
7
[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)查看已安装的镜像 。

?
1
2
3
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.

?
1
2
3
4
[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 。

?
1
2
3
[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)显示容器标准输出 。

?
1
2
3
4
5
[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)给容器中安装程序或服务 。

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

Dependency Installed

?
1
2
3
4
5
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)保存对容器中的修改并生成新的镜像 。

?
1
docker commit CONTAINERID [REPOSITORY[:TAG]]

REPOSITORY参数可以是新的镜像名字,也可以是旧的镜像名;如果和旧的镜像名和TAG都相同,会覆盖掉旧的镜像.

?
1
2
3
4
5
6
7
[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)查看容器或镜像详情 。

下面是我刚保存提交产生的新的容器 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
[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)删除容器 。

?
1
docker rm CONTAINERID

查看所有容器ID:docker ps -a -q 。

删除所有的容器:docker rm $(docker ps -a -q) 。

(13)删除镜像 。

?
1
docker rmi IMAGE

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[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登录一样使用 。

?
1
2
3
[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环境的详细教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我网站的支持! 。

原文链接:http://blog.csdn.net/chengxuyuanyonghu/article/details/54929162 。

最后此篇关于部署维护docker环境的详细教程的文章就讲到这里了,如果你想了解更多关于部署维护docker环境的详细教程的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com