部署维护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,安装依懒包,关闭冲突的服务
cd /etc/yum.repos.d wget http://www.hop5.in/yum/el6/hop5.repo 修改grub的主配置文件表示第一个title下的内容为默认启动的kernel(一般新安装的内核在第一个位置)。 然后重启,重启系统,这时候你的内核就成功升级了,版本应该在3.8以上了, uname -r [root@dockermain-154 shell]# 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 # 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

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
将openstack的Token认证信息存储在memcache中
公司线上的openstack环境运行了5个多月的时间,keystone库的token表已经增长到了31GB,这个数据量还是很大的,对于以后的数据库备份很不方便。每次管理openstack的时候,都会产生一个新的token验证,而历史token信息其实都没有用(对于公司内部私有云来说,或者对于目前我们公司来说不需要) 查看了相关文档,发现可以把token信息存储在memcache中。 编辑/etc/keystone/keystone.conf的Token字段: [token] driver = keystone.token.backends.memcache.Token 这样就把token存储的驱动修改为了memcache 安装memcache,service memcached start 然后重启keystone即可 随后我把token表直接 TRUNCATE ,token表从31GB直接变成了96KB 看了一下整个openstack数据库一共也就100多MB(接近400个computer节点) 本文转自lustlost 51CTO博客,原文链接:http://blog.51cto....
- 下一篇
docker 容器中不支持中文的解决方法
最近的项目中Docker容器中生成的日志文件是中文名字,但是文件名是????.txt 进入容器内部: docker exec -t -i 容器名 /bin/bash 查看容器的语言环境: [root@12ec64254bc4 /]#locale LANG= LC_CTYPE="POSIX" LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="POSIX" LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT="POSIX" LC_IDENTIFICATION="POSIX" LC_ALL= 查看容器支持的语言: [root@12ec64254bc4 /]#locale -a C POSIX en_US.utf8 zh_CN.utf8 设置字符集为zh.CN.utf8: [root@12ec64254bc4 zhai]#LANG=zh.CN.utf...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块
- Linux系统CentOS6、CentOS7手动修改IP地址
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作