搭建環境:
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...