日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

dockerfile构建mysql_Dockerfile在linux上构建mysql8镜像并创建数据库-Go语言中文社区

發(fā)布時間:2024/10/8 数据库 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dockerfile构建mysql_Dockerfile在linux上构建mysql8镜像并创建数据库-Go语言中文社区 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

由于mysql5和mysql8版本的不同,導致構建鏡像的時候存在一定的差異,在此將mysql8鏡像的構建做一個總結。

本次總共用到了四個文件,分別是Dockerfile,setup.sh,my.sql,run.sh。

1.Dockerfile

Dockerfile是構建鏡像必須的文件,需要注意的是第二次copy時必須放到"/docker-entrypoint-initdb.d"路徑下,在這個路徑下會自動執(zhí)行相關腳本。具體內容如下:

FROM mysql:8

RUN mkdir -p /mysql

COPY my.sql /mysql

COPY setup.sh /docker-entrypoint-initdb.d

RUN chmod a+x /docker-entrypoint-initdb.d/setup.sh

2.setup.sh

這里就是去執(zhí)行sql語句的。如下:

#!/bin/bash

mysql -uroot -p$MYSQL_ROOT_PASSWORD <

source /mysql/my.sql;

3.my.sql

這里需要注意的是如果你的sql語句是從導出來的,那么需要在sql文件開頭加兩句話,因為導出來的sql語句是不包含創(chuàng)建數(shù)據(jù)源信息的,否則就會導致直接執(zhí)行的時候出錯。

CREATE DATABASE IF NOT EXISTS `my`;

USE `my`;

以下文件可以忽略,按照自己的sql語句添加即可,總的sql內容信息如下:

/*

Navicat MySQL Data Transfer

Source Server : 127.0.0.1_8899

Source Server Type : MySQL

Source Server Version : 80018

Source Host : 127.0.0.1:8899

Source Schema : my

Target Server Type : MySQL

Target Server Version : 80018

File Encoding : 65001

Date: 25/12/2019 13:50:49

*/

CREATE DATABASE IF NOT EXISTS `my`;

USE `my`;

SET NAMES utf8mb4;

SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------

-- Table structure for token

-- ----------------------------

DROP TABLE IF EXISTS `token`;

CREATE TABLE `token` (

`Token` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,

`TimeOutDate` datetime(0) NULL DEFAULT NULL

) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

SET FOREIGN_KEY_CHECKS = 1;

4.run.sh

這個腳本文件是可以不用的,只是圖個方便,自動執(zhí)行docker的命令。

#!/bin/bash

echo "start build image ..."

docker build -t test .

echo "build success .."

sleep 3

echo "start run image ..."

docker run -e MYSQL_ROOT_PASSWORD=123456 -p 8899:3306 -d test

echo " success .."

最后在命令行運行:

sh run.sh

總結

以上是生活随笔為你收集整理的dockerfile构建mysql_Dockerfile在linux上构建mysql8镜像并创建数据库-Go语言中文社区的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。