部署维护docker环境的详细教程
发布时间 - 2026-01-10 22:56:20 点击率:次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环境的详细教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# docker
# 环境部署
# 部署维护
# 详解Windows下运用Docker部署Node.js开发环境
# Dockerfile 部署java web的环境详解
# docker kubernetes dashboard安装部署详细介绍
# 在docker中部署tomcat并且部署java应用程序的步骤详解
# 在Docker上开始部署Python应用的教程
# 在Docker上部署Python的Flask框架的教程
# 利用OpenVSwitch在多台主机上部署Docker的教程
# 镜像
# 重启
# 小编
# 正在运行
# 第一个
# 在此
# 上了
# 要在
# 用了
# 给大家
# 我刚
# 要先
# 安装程序
# 所述
# 给我留言
# 配置文件
# 感谢大家
# 要写
# 搜出
# 疑问请
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Android实现代码画虚线边框背景效果
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
Android自定义listview布局实现上拉加载下拉刷新功能
香港服务器选型指南:免备案配置与高效建站方案解析
使用豆包 AI 辅助进行简单网页 HTML 结构设计
如何在阿里云通过域名搭建网站?
Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】
如何快速搭建个人网站并优化SEO?
香港服务器租用每月最低只需15元?
Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】
Laravel安装步骤详细教程_Laravel环境搭建指南
Python自然语言搜索引擎项目教程_倒排索引查询优化案例
郑州企业网站制作公司,郑州招聘网站有哪些?
Python高阶函数应用_函数作为参数说明【指导】
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
Laravel如何实现多对多模型关联?(Eloquent教程)
如何在云服务器上快速搭建个人网站?
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址
PHP 500报错的快速解决方法
google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤
高端智能建站公司优选:品牌定制与SEO优化一站式服务
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
个人摄影网站制作流程,摄影爱好者都去什么网站?
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
C++时间戳转换成日期时间的步骤和示例代码
如何在Tomcat中配置并部署网站项目?
Laravel路由怎么定义_Laravel核心路由系统完全入门指南
详解MySQL数据库的安装与密码配置
微信公众帐号开发教程之图文消息全攻略
如何在宝塔面板中修改默认建站目录?
香港服务器租用费用高吗?如何避免常见误区?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
Laravel如何实现数据库事务?(DB Facade示例)
北京网站制作的公司有哪些,北京白云观官方网站?
Laravel如何发送系统通知?(Notification渠道示例)
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
千库网官网入口推荐 千库网设计创意平台入口
Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用
微信小程序 wx.uploadFile无法上传解决办法
用v-html解决Vue.js渲染中html标签不被解析的问题
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
Android仿QQ列表左滑删除操作
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法
高性能网站服务器配置指南:安全稳定与高效建站核心方案
Laravel如何使用Gate和Policy进行授权?(权限控制)
原生JS获取元素集合的子元素宽度实例
网站建设要注意的标准 促进网站用户好感度!

