Dockerfile的具体 化简单用法-以centos8开启systemd管理功能为例

CentOS8.1已经发布了,为了测试一下如何,所以尝试在CoreOs系统下用docker 拉取了一下镜像,结果自然是不带systemd管理功能的。看了官方说明,是需要用Dockerfile来重新构建一个定制化镜像,所以又查找了一下相关搜索内容。 结果, 大部分文章都默认操作者知道Dockerfile如何使用,只说了其内容如何编写。 

这里做一个记录,算是非常小白的教程,用以后继应用的参考。

1.  Dockerfile 是一个文本文档, 名字就是这个。 里面记录的是如何构建docker镜像的步骤。 可以是以我们pull下来的镜像为基础,例如这里所说的 centos,也可以从基础,一步一步构建完整的镜像。

2. 要使用这个文档,最好的办法是见一个目录,在该目录下编写,然后在该目录下运行镜像的重构操作。

命令:~# mkdir /home/centos8

命令:~# vi Dockerfile

将coreos docker 官网的文档内容cp进去,保存

FROM centos:8
ENV container docker
RUN (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"]

3.进入文件夹,运行重构操作

命令:~# cd /home/centos8

命令:~# docker build --rm -t  centos8-systemd .     注意,这后面有一个点符号(.

4. 利用构建好的镜像开启容器

官方说明里面指出,为了使用systemd运行容器,您将需要从主机挂载cgroups卷

docker run -tid -v /sys/fs/cgroup:/sys/fs/cgroup:ro centos8-systemd
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值