无法在mac m1芯片组中的linux/x86_64体系结构(centos 7)上使用systemd设置Docker映像

niwlg2el  于 2023-03-17  发布在  Linux
关注(0)|答案(1)|浏览(207)

我已经按照文档: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体系结构
任何帮助都很感激。先谢了。

5rgfhyps

5rgfhyps1#

您可以在特权模式下运行容器

docker run --platform linux/x86_64 --privileged=true -ti -v /sys/fs/cgroup:/sys/fs/cgroup:ro -p 80:80 local/c7-systemd-httpd

注:CentOS8映像支持苹果Silicon M1使用的体系结构linux/arm 64/v8。

相关问题