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
相关推荐
报错小能手几秒前
linux学习笔记(45)git详解
linux·笔记·学习
hkNaruto7 分钟前
【DevOps】基于Nexus部署内网pypi代理镜像仓库操作手册
运维·devops
ximy133518 分钟前
AI服务器工作之线材的接口介绍
运维·服务器
ximy133523 分钟前
AI服务器工作之ubuntu系统下的驱动安装
运维·服务器·ubuntu
²º²²এ松24 分钟前
蓝牙低功耗(BLE)通信的中心设备/外围设备(连接角色)、主机/从机(时序角色)、客户端/服务器(数据交互角色)的理解
运维·服务器·数据库
Maple_land33 分钟前
常见Linux环境变量深度解析
linux·运维·服务器·c++·centos
wudl55661 小时前
Docker 常用命令
docker·容器·eureka
xx.ii2 小时前
jenkins流水线项目部署
运维·jenkins
选与握2 小时前
ubuntu22 docker安装ros1 noetic
docker·ros1
小白银子2 小时前
零基础从头教学Linux(Day 53)
linux·运维·python