dockerFile構建當點mysql

2021-09-29 22:24:27 字數 1735 閱讀 1587

搭建環境:

mac10.15

docker 19.03.4

mysql-8.0.18(不同版本有些引數不一,最終可參考官網

第一步:在宿主機上建立需要外接的目錄。 目錄不能指定在root使用者下

mkdir /users/haizhi/desktop/software/df/mysql

cd /users/haizhi/desktop/software/df/mysql

mkdir data config

第二步:建立mysql配置檔案 vim config/my.cnf

[mysqld]

user=mysql

lower_case_table_names=0

character-set-server=utf8

default_authentication_plugin=mysql_native_password

secure_file_priv=/var/lib/mysql

expire_logs_days=7

sql_mode=strict_trans_tables,no_zero_in_date,no_zero_date,error_for_division_by_zero,no_engine_substitution

max_connections=1000

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

第三步:在docker中拉取映象

##拉取mysql最新版本

docker pull mysql

第四步:編寫啟動指令碼

vim build.sh

##賦予可執行許可權

chmod +x build.sh

build中內容

docker run --name mysql --restart=always --privileged=true -p 3306:3306 --volume /users/haizhi/desktop/software/df/mysql/data:/var/lib/mysql --volume /users/haizhi/desktop/software/df/mysql/config/my.cnf:/etc/mysql/my.cnf -e mysql_root_password=123456 -d mysql

第五步進入容器內部設定遠端可連線

docker exec -it mysql /bin/sh

1,進行授權遠端連線(注意mysql 8.0跟之前的授權方式不同)

grant all on *.* to 'root'@'%';

2,重新整理許可權

flush privileges;

3,更改加密規則

alter user 'root'@'localhost' identified by 'password' password expire never;

4,更新root使用者密碼

alter user 'root'@'%' identified with mysql_native_password by '123456';

5,重新整理許可權

flush privileges;

通過客戶端驗證

dockerfile構建映象

尋找官方映象的dockerfile 在hub.docker.com 中,輸入映象的名字,往下拉就能找到跳轉到dockerfile的鏈結。下圖是centos的dockerfile from scratch maintainer the centos project add c68 docker.tar...

Dockerfile構建映象

docker映象是由 件系統疊加 成的,系統的最底層是 bootfs,相當於就是linux核心的引導 件系統 接下來第 層是rootfs,這 層可以是 種或多種操 作系統 如debian或ubuntu 件系統 docker中的rootfs是唯讀狀態的 docker利 聯合掛載技 術將各層 件系統疊加...

Dockerfile構建映象

mkdir dockerfile3 cd dockerfile3 touch dockerfile 在這個例子裡,我們通過run指令更新了已經安裝的apt倉庫,安裝了nginx包。之後將 hi,i am in your container 寫入 var www html index.nginx de...