Dockerfile构建(利用centos6镜像构建mysql镜像)

3. (简答题)

编写Dockerfile制作mysql镜像,生成镜像名为my_build:mysql,具体要求如下:

(1)基于镜像centos:7

(2)开放端口3306

(3)设置root密码为123456

创建目录并进入目录:

mkdir mysql1 

cd mysql1

编辑文件: 

vim mysql_file

写入内容:

FROM guyton/centos6

#RUN yum install -y wget

#RUN wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

#RUN yum clean all&&yum makecache

#更换yum 源

RUN sed -i "s|enabled=1|enabled=0|g" /etc/yum/pluginconf.d/fastestmirror.conf && \

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup && \

curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Aliyun.repo && \

yum clean all && yum makecache

RUN yum install -y mysql mysql-devel mysql-server

#开启mysqld服务,并进行授权

RUN /etc/init.d/mysqld start && \

mysql -e "grant all privileges on *.* to 'root'@'%' identified by '123456';"&&\

mysql -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456')"

#开启3306端口

EXPOSE 3306

#运行初始化脚本mysqld_safe

CMD ["mysqld_safe"]

文件转镜像:

docker build -f ./mysql_file .

创建容器并启动容器 -P随机分配端口:

docker run -it -P d798418a7c76 /bin/bash

开启mysql:

service mysqld start

进入mysql 密码123456:

mysql -u root -p123456

查看随机端口:

docker ps -a

远程登录:

 

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是一个简单的Dockerfile,用于在CentOS 9镜像构建MySQL 8.0: ``` FROM centos:9 # 安装MySQL 8.0 RUN yum install -y https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm && \ yum install -y mysql-community-server && \ yum clean all # 配置MySQL RUN mkdir /docker-entrypoint-initdb.d COPY my.cnf /etc/ COPY init.sql /docker-entrypoint-initdb.d/ # 暴露3306端口 EXPOSE 3306 # 启动MySQL CMD ["mysqld"] ``` 这个Dockerfile包含以下步骤: 1. 基于CentOS 9构建镜像。 2. 安装MySQL 8.0。 3. 配置MySQL,包括复制my.cnf文件和将init.sql文件复制到/docker-entrypoint-initdb.d目录中。 4. 暴露MySQL默认端口3306。 5. 启动MySQL。 你需要在与Dockerfile相同的目录中创建一个my.cnf文件和一个init.sql文件,这些文件将用于配置MySQL和初始化数据库。以下是my.cnf文件的示例内容: ``` [mysqld] default-authentication-plugin=mysql_native_password character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci ``` 以下是init.sql文件的示例内容: ``` CREATE DATABASE mydb; USE mydb; CREATE TABLE users (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50)); INSERT INTO users (name) VALUES ('Alice'), ('Bob'), ('Charlie'); ``` 构建镜像命令: ``` docker build -t mysql8.0:centos9 . ``` 运行容器命令: ``` docker run --name mysql8.0 -p 3306:3306 -d mysql8.0:centos9 ``` 这将创建一个名为“mysql8.0”的容器,并将其映射到本地机器的3306端口。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值