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
相关推荐
lxmyzzs1 分钟前
在使用 `resolvconf` 的 Ubuntu 系统上持久化 DNS 设置
linux·运维·ubuntu
nassi_8 分钟前
文件属性获取与目录IO操作详解
linux·服务器·网络
User_芊芊君子11 分钟前
【LeetCode 经典题解】:队列与栈的双向模拟——从原理到代码详解
linux·redis·leetcode
熊文豪21 分钟前
搭建AI资讯早报:AiOnly全球大模型服务+N8N自动化工作流实战
linux·运维·服务器
roman_日积跬步-终至千里1 小时前
【Docker下部署高可用】StarRocks 存算一体架构高可用部署要点
docker·容器·架构
阿猿收手吧!1 小时前
【C语言】localtime和localtime_r;strftime和strftime_l
linux·c语言·开发语言
wanhengidc1 小时前
云真机和云手机的区别
运维·服务器·游戏·智能手机·云计算
yewq-cn2 小时前
海思 SLE 芯片 Linux 烧录
linux·服务器
顾安r2 小时前
11.5 脚本 本地网站收藏(解封归来)
linux·服务器·c语言·python·bash
佐杰2 小时前
Jenkins是什么
运维·jenkins