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
相关推荐
in12345lllp几秒前
IT运维AI化转型:系统性AI认证选择
运维·人工智能
阿钱真强道几秒前
20 极物智能 knx-主机场景对接
linux·运维·服务器
海棠蚀omo1 分钟前
万物互联的起点:走进 Linux 网络的心脏,开启一场从零开始的底层探索之旅
linux·网络
艾莉丝努力练剑1 分钟前
【Linux进程(六)】程序地址空间深度实证:从内存布局验证到虚拟化理解的基石
大数据·linux·运维·服务器·人工智能·windows·centos
Fortune_yangyang2 分钟前
docker 搭建lnmp
运维·docker·容器
howard20052 分钟前
Docker实战:使用CGroups控制资源
docker·cgroups
虾..2 分钟前
Linux 信号发送和保存
linux·运维·服务器
峰顶听歌的鲸鱼5 分钟前
16.docker:存储
运维·笔记·docker·容器·云计算
乾元10 分钟前
AI 在云网络(VPC / VNet)部署的编排与安全对齐——从“手工堆资源”到“意图驱动的网络生成”(含 Terraform 工程化)
运维·网络·人工智能·网络协议·安全·云计算·terraform
盛满暮色 风止何安10 分钟前
负载均衡的部署模式
运维·服务器·网络·网络安全·负载均衡