linux系统Docker容器Dockerfile示例

Dockerfile示例

可以使用systemctl命令的镜像

Dockerfile
shell 复制代码
vim Dockerfile

FROM centos:7
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"]

基于centos7创建mysql镜像

Dockerfile
复制代码
FROM centos:7

RUN yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm && \
    yum -y install  yum-utils && \
	yum-config-manager --disable mysql80-community   && \
    yum-config-manager --enable mysql57-community && \
	yum -y groupinstall "Development Tools"  && \
    yum -y install mysql-community-server  
	
ADD ./mysql.sh /
CMD [ "sh","/mysql.sh" ]
mysql.sh
复制代码
mysqld --initialize   #mysql初始化命令
pass=$(grep -o 'root@localhost.*' /var/log/mysqld.log | awk 'END{print $NF}')
mysqld --user=root &    #root用户启动mysql
sleep 10
mysqladmin -p"${pass}" password "${MYSQL_ROOT_PASSWORD}"
tail -f /var/log/mysqld.log
相关推荐
讯捷蓝达1 小时前
戴尔R720xd服务器卡死在 “Configuring Memory...Done“,换了内存还是卡?问题根本不在内存
运维·服务器
且从容.2 小时前
ubuntu安装flink
linux·ubuntu·flink
爱和冰阔落4 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
程序员沉梦听雨4 小时前
WSL2的安装与使用
linux·wsl
微小的鱼4 小时前
Linux的渲染与显示系统链路
android·java·linux
lisanmengmeng4 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器
Android系统攻城狮5 小时前
Linux FFmpeg深度解析之av_write_frame调用流程与实战(三十三)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
上火的金鱼妹5 小时前
k8s生产实际问题排查(网关,数据库读写等)
运维·服务器
孙克旭_5 小时前
k8s基础组件与创建资源
运维·docker·容器·kubernetes
孙克旭_6 小时前
云原生基础之Containerd容器运行时
运维·云原生