dockerfile构建mysql的镜像1、拉取下载mysql:5.7的镜像⽂件
docker pull mysql:5.7
2、快速启动⼀个mysql容器:
docker run --name hdc-mysql -p 3307:3306  -e MYSQL_ROOT_PASSWORD=hdc@328216 -d mysql:5.7
--name    指定⼀个容器的别名:hdc-mysql
-e        指定环境变量,MYSQL_ROOT_PASSWORD为必须变量即必须设置的变量,为root⽤户设置密码hdc@328216 -d        后台启动
mysql:5.7  mysql的镜像名称:标签tag
-p        映射宿主机的3307端⼝到该容器的3306端⼝(因为mysql启动的默认端⼝为3306)
3、进⼊hdc-msyql容器内:
docker exec -it hdc-mysql /bin/bash
4、登录mysql:在容器内执⾏:
mysql社区版国内镜像下载mysql -uroot -phdc@328216
mysql>  执⾏如下sql创建库创建表:
-- 建库
create database `db_student`;
SET character_set_client = utf8;
use db_student;
-- 建表
drop table if exists `user`;
CREATE TABLE user (
id tinyint(5) zerofill auto_increment not null comment '学⽣学号',
name varchar(20) default null comment '学⽣姓名',
age tinyint default null comment '学⽣年龄',
class varchar(20) default null comment '学⽣班级',
sex char(5) not null comment '学⽣性别',
unique key (id)
)engine=innodb charset=utf8;
-- 插⼊数据
insert into user values('1','⼩明','15','初三','男');
insert into user values('2','⼩红','13','初⼆','⼥');
mysql>select * from user;
mysql> select * from user;
+-------+------+------+-------+-----+
| id    | name | age  | class | sex |
+-------+------+------+-------+-----+
| 00001 |      |  15 |      |    |
| 00002 |      |  13 |      |    |
+-------+------+------+-------+-----+
由结果得知,中⽂显⽰为空,这是因为容器默认启动之后编码不⽀持中⽂字符。
5、删除旧容器,重新创建
docker rm -f hdc-mysql
docker run --name hdc-mysql -e MYSQL_ROOT_PASSWORD=hdc@328216 -d mysql:5.7
docker exec -it hdc-mysql env LANG=C.UTF-8 /bin/bash
【注】:env LANG=C.UTF-8表⽰设置容器的环境变量为utf-8
6、使⽤dockerfile创建mysql镜像:
dockerfile内容:
FROM mysql:5.7
WORKDIR /docker-entrypoint-initdb.d
ENV LANG=C.UTF-8
ADD init.sql .
【注】:
ADD的作⽤:对于tar等压缩包会⾃动解压,多于可执⾏⽂件也可⾃动执⾏。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。