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
相关推荐
鸠摩智首席音效师2 小时前
如何使用 docker exec 在容器中运行命令 ?
运维·docker·容器
似水এ᭄往昔2 小时前
【Linux】自动化构建-make/Makefile
linux·运维·服务器·ubuntu
Hoking2 小时前
TimescaleDB(PostgreSQL)流复制集群容器化部署(docker-compose)
docker·postgresql·timescaledb·流复制
顶点多余2 小时前
Linux“信号“从硬件到软件详解
linux·运维·服务器
勘察加熊人3 小时前
ai飞卢小说自动化处理工作流获得提问素材
运维·自动化
瀚高PG实验室4 小时前
rpm包安装报错:cannot open Packages index using db5 - Cannot allocate memory (12)
linux·运维·服务器·瀚高数据库
云计算老刘4 小时前
2. DNS 服务器
运维
水星灭绝4 小时前
win11+wsl2+docker
运维·docker·容器
追风少年王大爷丶4 小时前
nginx 配置无域名访问拒绝
运维·服务器·nginx
AI+程序员在路上4 小时前
嵌入式软件技术大全
linux·开发语言·arm开发·单片机