Docker部署centos7容器

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 操作系统:centos7.2.1511 centos镜像:centos7.2.1511安装dockeryum -y install docker启动dockersystemctl start...

操作系统: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
目录
相关文章
|
2天前
|
JavaScript 持续交付 Docker
解锁新技能:Docker容器化部署在微服务架构中的应用
【10月更文挑战第29天】在数字化转型中,微服务架构因灵活性和可扩展性成为企业首选。Docker容器化技术为微服务的部署和管理带来革命性变化。本文探讨Docker在微服务架构中的应用,包括隔离性、可移植性、扩展性、版本控制等方面,并提供代码示例。
19 1
|
4天前
|
Docker 容器
docker 修改容器内的系统时间
【10月更文挑战第27天】docker 修改容器内的系统时间
61 2
|
7天前
|
安全 Linux Shell
docker运行centos提示Operation not permitted
通过上述步骤,可以有效排查和解决在Docker中运行CentOS容器时遇到的"Operation not permitted"错误。这些措施涵盖了从权限配置、安全策略到容器运行参数的各个方面,确保在不同环境和使用场景下都能顺利运行容器。如果你需要进一步优化和管理你的Docker环境
13 3
|
10天前
|
Web App开发 iOS开发 Docker
Docker 容器的日志
【10月更文挑战第31天】
24 5
|
10天前
|
存储 缓存 Docker
docker中挂载数据卷到容器
【10月更文挑战第16天】
18 2
|
12天前
|
存储 关系型数据库 MySQL
|
13天前
|
存储 Docker 容器
docker中挂载数据卷到容器
【10月更文挑战第13天】
18 2
|
1天前
|
Docker 容器
docker 容器重启
【10月更文挑战第30天】docker 容器重启
5 0
|
22天前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
158 3
|
3月前
|
Linux 测试技术 Docker
Docker CE for CentOS 安装教程
Docker CE for CentOS 安装教程
125 1

热门文章

最新文章