Dockerfile mysql redis

该博客介绍了如何在一个Docker镜像中集成MySQL、Redis和Tomcat服务,并实现容器启动后三个服务自动运行。通过Dockerfile构建过程,包括安装依赖、下载软件、配置系统服务,并使用systemd脚本确保服务开机自启。目录结构展示了相关配置文件和脚本的位置,使得读者能够跟随步骤复现这一集成过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:

将mysql, Redis 以及 Tomcat 合并到一个独立的docker image中,run container 之后三个服务自启动。

目录结构:

alice@alice:~/image$ tree
.
├── build.sh
├── container.sh
├── Dockerfile
├── README.md
├── redis-client.service
├── redis_cluster
│   ├── master_6379
│   │   └── redis.conf
│   ├── slave_6479
│   │   └── redis.conf
│   └── slave_6579
│       └── redis.conf
├── redis-master.service
├── redis-slave.service
├── run-container.sh
└── tomcat.service

4 directories, 12 files

关于以上文件和脚本的说明:

alice@alice:~/image$ cat README.md
1.关于 Dockerfile: 

基础镜像来自docker官方:https://hub.docker.com/r/centos/systemd/


2.关于各文件:


build.sh		----- build Dockerfil 的shell脚本


container.sh		----- docker run container 的shell脚本


run-container.sh	----- shell脚本,传递参数给 container.sh 启动容器


redis_cluster/		----- redis一主两从的配置文件的目录


 *.service		----- systemctl脚本,实现开机自启动

build.sh








Dockerfile:

```shell
FROM centos/systemd

MAINTAINER alice

RUN yum clean all && yum repolist
RUN yum install epel-release -y
RUN yum install wget -y
RUN yum install redis -y

RUN cd /tmp
RUN wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.34/bin/apache-tomcat-8.5.34.tar.gz 
RUN tar xf apache-tomcat-8.5.34.tar.gz && mv apache-tomcat-8.5.34 /usr/local/tomcat
RUN yum install java-1.7.0-openjdk -y

RUN cd /tmp  
RUN wget https://repo.mysql.com//mysql-community-release-el7-5.noarch.rpm 
RUN rpm -ivh mysql-community-release-el7-5.noarch.rpm 
RUN yum clean all && yum repolist 
RUN yum install mysql-community-server -y 

COPY redis_cluster/ /usr/local/redis_cluster/
COPY redis-master.service /lib/systemd/system/redis-master.service
COPY redis-slave.service /lib/systemd/system/redis-slave.service
COPY redis-client.service /lib/systemd/system/redis-client.service
COPY tomcat.service /lib/systemd/system/tomcat.service

RUN systemctl enable tomcat
RUN systemctl enable mysqld
RUN systemctl enable redis-master 
RUN systemctl enable redis-slave
RUN systemctl enable redis-client

EXPOSE 6379 6479 6579 3306 8080 

CMD ["/usr/sbin/init"]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值