CentOS6.x上部署Docker容器环境的全流程攻略 2017-03-31 来源:网络 字号:大 中 小 我要评论 收藏本文
Docker.io 是轻量级的“容器引擎+映像仓库”,在LXC(linux轻量级容器)的基础上构建,可以运行任何应用程序。 1. 禁用selinux 复制代码 代码如下:# yum install epel-release-6-8.noarch.rpm //或 yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm 如果出现GPG key retrieval failed: [Errno 14] Could not open/read file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6问题,请在线安装epel,下载RPM-GPG-KEY-EPEL-6文件。 这一步执行之后,会在/etc/yum.repos.d/下生成epel.repo、epel-testing.repo两个文件,用于从Fedora官网下载rpm包。 3. 检查内核版本 复制代码 代码如下:# uname -r 2.6.32-431.el6.x86_64 # cat /etc/redhat-release CentOS release 6.5 (Final) 看到这个最低的内核版本,事实运行起来是没太大问题的,你也可以升级到3.10.x版本。 另外你也可以运行脚本check-config.sh,来检查内核模块符不符合(下面有些missing的,我的docker还是可以正常启动): 复制代码 代码如下:[root@sean ~]# ./check-config warning: /proc/config.gz does not exist, searching other paths for kernel config... info: reading kernel config from /boot/config-2.6.32-431.el6.x86_64 ... Generally Necessary: - cgroup hierarchy: properly mounted [/cgroup] - CONFIG_NAMESPACES: enabled - CONFIG_NET_NS: enabled - CONFIG_PID_NS: enabled - CONFIG_IPC_NS: enabled - CONFIG_UTS_NS: enabled - CONFIG_DEVPTS_MULTIPLE_INSTANCES: enabled - CONFIG_CGROUPS: enabled - CONFIG_CGROUP_CPUACCT: enabled - CONFIG_CGROUP_DEVICE: enabled - CONFIG_CGROUP_FREEZER: enabled - CONFIG_CGROUP_SCHED: enabled - CONFIG_MACVLAN: enabled - CONFIG_VETH: enabled - CONFIG_BRIDGE: enabled - CONFIG_NF_NAT_IPV4: missing - CONFIG_IP_NF_TARGET_MASQUERADE: enabled - CONFIG_NETFILTER_XT_MATCH_ADDRTYPE: missing - CONFIG_NETFILTER_XT_MATCH_CONNTRACK: enabled - CONFIG_NF_NAT: enabled - CONFIG_NF_NAT_NEEDED: enabled Optional Features: - CONFIG_MEMCG_SWAP: missing - CONFIG_RESOURCE_COUNTERS: enabled - CONFIG_CGROUP_PERF: enabled - Storage Drivers: - "aufs": - CONFIG_AUFS_FS: missing - CONFIG_EXT4_FS_POSIX_ACL: enabled - CONFIG_EXT4_FS_SECURITY: enabled - "btrfs": - CONFIG_BTRFS_FS: enabled - "devicemapper": - CONFIG_BLK_DEV_DM: enabled - CONFIG_DM_THIN_PROVISIONING: enabled - CONFIG_EXT4_FS: enabled - CONFIG_EXT4_FS_POSIX_ACL: enabled - CONFIG_EXT4_FS_SECURITY: enabled 假如你是自己编译内核,请特别留意几个绝对不能缺少的:DM_THIN_PROVISIONING、IP_NF_TARGET_MASQUERADE、NF_NAT。(AUFS_FS没有对应选项,还不清楚怎么回事,但不是必须) 4. 安装 docker-io 复制代码 代码如下:# yum install docker-io Dependencies Resolved =========================================================================================== Package Arch Version Repository Size =========================================================================================== Installing: docker-io x86_64 1.1.2-1.el6 epel 4.5 M Installing for dependencies: lua-alt-getopt noarch 0.7.0-1.el6 epel 6.9 k lua-filesystem x86_64 1.4.2-1.el6 epel 24 k lua-lxc x86_64 1.0.6-1.el6 epel 15 k lxc x86_64 1.0.6-1.el6 epel 120 k lxc-libs x86_64 1.0.6-1.el6 epel 248 k Transaction Summary =========================================================================================== Install 6 Package(s) 许多文档介绍到这里,下一步为挂载/cgroup文件系统,我的docker版本为1.1.2,没有修改/etc/fstab的步骤。 5. 启动试运行 复制代码 代码如下:# service docker start //或 # docker -d 6. 以守护模式运行docker.io(在一个新的终端里) 复制代码 代码如下:[root@localhost ~]# docker -d 2013/08/21 07:47:07 WARNING: Your kernel does not support cgroup swap limit. 2013/08/21 07:47:07 Listening for HTTP on /var/run/docker.sock (unix) 7. 在centos6.4容器里输出hello world 复制代码 代码如下:[root@localhost ~]# docker run centos:6.4 echo "hello world" 2013/08/21 07:48:41 POST /v1.4/containers/create 2013/08/21 07:48:41 POST /v1.4/containers/c6bc9e80097e/start 2013/08/21 07:48:41 POST /v1.4/containers/c6bc9e80097e/attach?logs=1&stderr=1&stdout=1&stream=1 hello world 8. 从容器里测试ping 复制代码 代码如下:[root@localhost ~]# docker -dns '8.8.8.8' run centos:6.4 ping -c 3 yahoo.com 2013/08/21 08:02:15 POST /v1.4/containers/create 2013/08/21 08:02:15 POST /v1.4/containers/c40a1244f9bc/start 2013/08/21 08:02:15 POST /v1.4/containers/c40a1244f9bc/attach?logs=1&stderr=1&stdout=1&stream=1 PING yahoo.com (98.138.253.109) 56(84) bytes of data. 64 bytes from ir1.fp.vip.ne1.yahoo.com (98.138.253.109): icmp_seq=1 ttl=48 time=323 ms 64 bytes from ir1.fp.vip.ne1.yahoo.com (98.138.253.109): icmp_seq=2 ttl=48 time=329 ms 64 bytes from ir1.fp.vip.ne1.yahoo.com (98.138.253.109): icmp_seq=3 ttl=49 time=302 ms --- yahoo.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2304ms rtt min/avg/max/mdev = 302.032/318.318/329.656/11.807 ms 9. 异常 在我的一次安装过程中,很不幸遇到下面的问题: docker -d启动,或tail -f /var/log/docker查看日志 复制代码 代码如下:[f32e7d9f] +job initserver() [f32e7d9f.initserver()] Creating server [f32e7d9f] +job serveapi(unix:///var/run/docker.sock) 2014/10/22 13:02:45 Listening for HTTP on unix (/var/run/docker.sock) Error running DeviceCreate (createPool) dm_task_run failed [f32e7d9f] -job initserver() = ERR (1) 2014/10/22 13:02:45 Error running DeviceCreate (createPool) dm_task_run failed \nWed Oct 22 14:35:54 CST 2014\n 再或者是service docker restart 复制代码 代码如下:Stopping docker: [ OK ] Starting cgconfig service: Error: cannot mount cpuset to /cgroup/cpuset: Device or resource busy /sbin/cgconfigparser; error loading /etc/cgconfig.conf: Cgroup mounting failed Failed to parse /etc/cgconfig.conf [FAILED] Starting docker: [ OK ] 全选复制放进笔记Unable to enable network bridge NAT: iptables failed: iptables -I POSTROUTING -t nat -s 172.17.42.1/16 ! -d 172.17.42.1/16 -j MASQUERADE: iptables v1.4.7: can't initialize iptables table `nat': Table does not exist (do you need to insmod?) Perhaps iptables or your kernel needs to be upgraded. |
上一篇:CentOS下Pureftp的配置文件常用配置项整理
下一篇:安装SSL证书后实现http自动跳转到https教程
看完本文,您的心情是?
评论排行
- ·如何清除DNS缓存 使用命令清理dns缓存方法(2)
- ·Win8.1升级Win10遇到错误代码0xc190010...(1)
- ·Windows RT 8.1 Update 3九月发布 ...(0)
- ·如何将ubuntu安装到U盘实现即插即用(0)
- ·微软否认Xbox One有远程关闭开关(0)
- ·Surface Book详细拆解:千万不要自己动手修(0)
- ·WIN10免费升级正版手册(5分钟读懂WIN10...(0)
- ·你的今日头条账号为什么会被封?(0)
- ·win7电脑怎么翻墙看国外的网站?(0)
- ·shell脚本运行5秒后自动退出的代码(0)
- ·jsp 不支持EL表达式,解决办法(0)
- ·table合并单元格与img图片铺满整个td的html(0)
- ·Mac OS X 系统备份指南(0)
- ·Shell脚本注释写法(0)
- ·windows8激活码、序列号、激活密钥、激...(0)
- ·从一个不错的留言本弄的mysql数据库操作类(0)
- ·PHP漏洞全解(详细介绍)(0)
- ·phpBB BBcode处理的漏洞(0)
- ·安装Win10技术预览版有风险吗?win10预...(0)
- ·基于mysql的论坛(6)(0)
猜你喜欢
- ·CentOS Ubuntu Debian三个linux的异同对比
- ·CentOS 7.1 中文正式版怎么样?CentOS ...
- ·CentOS 7下网络设备如何命名?
- ·centos安装mysql数据库的方法
- ·centos6.5宽带拨号上网的方法
- ·RedHat系统中图形界面鼠标用不了怎么办?
- ·Linux系统下以模块方式安装卸载文件系统
- ·linux学习第一步 vmware下安装centos及部...
- ·Linux关机命令详细说明
- ·Linux系统GRUB的MD5加密方法
- ·Linux操作系统提高PHP性能的工具APC
- ·FTP出现500 OOPS: cannot change dir...
- ·CentOS下CronTab任务周期计划详解
- ·CentOS系统里如何提高文本搜索效率?
- ·在CentOS中用yum命令下载RPM包但不进行安...
- ·CentOS如何更换网卡设置?CentOS更换网卡设...
热门推荐
- ·Linux系统下软件的安装与卸载
- ·CentOS下nethogs命令详解
- ·CentOS下根据命令查所在的包的方法
- ·图形化方法VNC连接LINUX服务器
- ·Linux查看文件夹大小的命令
- ·简单查看linux64位/32位的命令!
- ·CentOS下如何创建分区?CentOS下创建分区的方法
- ·Linux操作系统提高PHP性能的工具APC
- ·CentOS技巧:减小Linux swap分区的方法
- ·linux之Centos中文系统分区的详细教程和重点介绍
- ·Linux使用的一些基本问题
- ·linux系统如何释放内存
- ·Linux CentOS上编译并安装Clang教程
- ·LINUX下ARP欺骗攻击说明与防范
- ·LINUX开机如何进入文本模式
本月排行
最近更新
- ·tomcat 自动跳转到HTTPS
- ·Nginx 自动跳转到HTTPS
- ·安装SSL证书后实现http自动跳转到https教程
- ·CentOS下Pureftp的配置文件常用配置项整理
- ·CentOS6.x上部署Docker容器环境的全流程攻略
- ·CentOS系统中常用查看系统信息和日志命令小结
- ·使VirtualBox下CentOS中的文件与宿主机实现共享
- ·CentOS常用基础命令大全
- ·CentOS7创建本地YUM源的三种方法
- ·YUM更换源 yum找不到安装包的解决方法
- ·在CentOS系统上安装机器学习框架Caffe的方法
- ·在CentOS系统上查看用户登录记录的方法
- ·CentOS上使用Squid+Stunnel搭建代理服务器教程
- ·将CentOS服务器的目录映射为Windows磁盘驱动器的方法
- ·centos中tree插件的使用详解与注意事项
- ·CentOS 6.4如何安装及设置GlusterFS以解决网络存储的问题
- ·CentOS系统中挂载光盘镜像ISO文件的教程
- ·优化centos远程SSH连接
- ·Centos(Linux)下用户权限委派配置介绍
- ·全面讲解RedHat系Linux中的rpm包管理系统