Docker部署centos7容器
操作系统:centos7.2.1511
centos镜像:centos7.2.1511
安装docker
yum -y install docker
启动docker
systemctl start docker
发现启动不了,报错:
Error starting daemon: SELinux is not supported with the overlay2 graph driver on this kernel. Either boot into a newer kernel or disable selinux ...enabled=false)
修改配置文件
vim /etc/sysconfig/docker OPTIONS='--selinux-enabled=false'
再次启动服务
systemctl start docker systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled) Active: active (running) since Tue 2018-07-17 05:48:54 CST; 20s ago Docs: http://docs.docker.com
下载centos7.2镜像
docker pull daocloud.io/library/centos:centos7.2.1511 docker images REPOSITORY TAG IMAGE ID CREATED SIZE daocloud.io/library/centos centos7.2.1511 0a2bad7da9b5 8 months ago 195 MB
Systemd整合
因为 systemd 要求 CAPSYSADMIN 权限,从而得到了读取主机 cgroup 的能力,CentOS7 中已经用 fakesystemd 代替了 systemd 来解决依赖问题,如果仍然希望使用 systemd,可用下面的 Dockerfile
cat > Dockerfile <<EOF FROM 0a2bad7da9b5 MAINTAINER Testder 10000@testder.cn ENV container docker RUN yum -y swap -- remove fakesystemd -- install systemd systemd-libs RUN yum -y update; yum clean all; \ (cd /lib/systemd/system/sysinit.target.wants/; for i in *;\ do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ rm -f /lib/systemd/system/multi-user.target.wants/*;\ rm -f /etc/systemd/system/*.wants/*;\ rm -f /lib/systemd/system/local-fs.target.wants/*; \ rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ rm -f /lib/systemd/system/basic.target.wants/*;\ rm -f /lib/systemd/system/anaconda.target.wants/*; VOLUME [ "/sys/fs/cgroup" ] CMD ["/usr/sbin/init"] EOF
构建基础镜像
docker build --rm -t centos7.2 .
后台运行Centos容器
为了运行一个包含 systemd 的容器,您需要使用–privileged选项, 并且挂载主机的 cgroups 文件夹。 下面是运行包含 systemd 容器的示例命令:
docker run -itd --name centos7.2 --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro centos7.2 641f23dce23355729dfb8e99e5df467574eb116afbb1c50e71e272e952451d03
使用exec进入Centos容器,systemd启动成功
docker exec -it centos7.2 /bin/bash [root@641f23dce233 /]# yum -y install httpd [root@641f23dce233 /]# systemctl start httpd

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
NFS动态存储供应
相对于静态存储, 动态存储的优势: ● 管理员无需预先创建大量的PV作为存储资源; ● 静态存储需要用户申请PVC时保证容量和读写类型与预置PV的容量及读写类型完全匹配, 而动态存储则无需如此. 本文使用NFS存储类型完成动态存储, 需要如下步骤. 1. 创建NFS服务 参见上篇文章:安装NFS服务 2. 部署存储供应卷 根据PVC的请求, 动态创建PV存储. [root@bogon statefulset]# cat deployment-nfs.yaml kind: Deployment apiVersion: extensions/v1beta1 metadata: name: nfs-client-provisioner spec: replicas: 1 strategy: type: Recreate template: metadata: labels: app: nfs-client-provisioner spec: serviceAccount: nfs-provisioner containers: - na...
- 下一篇
阿里云海外服务器中调用谷歌API吗?如果是海外服务器国内访问是不是有延迟?
阿里云海外服务器中调用谷歌API吗?如果是海外服务器国内访问是不是有延迟? 我想做一个在国内访问的网站,想部署在阿里云上,但是想在阿里云中调用谷歌提供的一些API,不知道阿里云的网络通不通?要选海外服务器?如果是海外服务器国内访问是不是有延迟? 以前看新闻说,谷歌有一些API资源也能在国内顺序访问得到了。 肯定是国内不能访问的API啊,国内能访问的API我没必要来提问啊。怎么又是你啊,大哥? ,和我们家用的网络结果差不多,即家里不能访问到的国外资源,一般在阿里云的境内地域上的ECS也访问不了的喔。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- 2048小游戏-低调大师作品
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题