我已经按照文档:Docker hub上的Systemd集成使用systemd创建Docker映像
基础图像Docker文件
FROM centos:7
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"]
修改了文档中提到的生成命令
$ docker build --rm -t local/c7-systemd .
到
$ docker build --platform linux/x86_64 --rm -t local/c7-systemd .
然后,建立一个子Docker图像子图像Docker文件-
FROM local/c7-systemd
RUN yum -y install httpd; yum clean all; systemctl enable httpd.service
EXPOSE 80
CMD ["/usr/sbin/init"]
修改的生成文件来自
$ docker build --rm -t local/c7-systemd-httpd .
到
docker build --platform linux/x86_64 --rm -t local/c7-systemd-httpd .
Docker 用
docker run --platform linux/x86_64 -ti -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 80:80 local/c7-systemd-httpd
很遗憾收到错误消息
Failed to mount tmpfs at /run: Operation not permitted
Failed to mount cgroup at /sys/fs/cgroup/systemd: Operation not permitted
[!!!!!!] Failed to mount API filesystems, freezing.
我的要求是构建一个容器
- Apache
- PHP 8.1语言
在centos 7中采用linux/x86_64体系结构
任何帮助都很感激。先谢了。
1条答案
按热度按时间5rgfhyps1#
您可以在特权模式下运行容器
注:CentOS8映像支持苹果Silicon M1使用的体系结构linux/arm 64/v8。