首先是pull image,這裡我拉取的是5.x版本最新版:
docker pull mysql:5
拉下來以後大可以按照官方的說明無腦啟動,但是外部無法訪問,所以繫結埠:
docker run --name mysql -p 12345:3306 -e mysql_root_password=my-secret-pw -d mysql:5.6.35
docker run --name some-mysql -e mysql_root_password=my-secret-pw -d mysql:tag
試著用客戶端連線,成功了,查詢mysql.user表發現允許從任何地方用root訪問,這特麼也太不安全了!
果斷連線到bash:
docker exec -it mysql bash
執行mysql,竟然有!
使用自定義配置檔案
docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e mysql_root_password=my-secret-pw -d mysql:tag
使用自定義資料目錄
docker run --name some-mysql -v /my/own/datadir:/var/lib/mysql -e mysql_root_password=my-secret-pw -d mysql:tag
使用自定義日誌目錄
docker run --name some-mysql -v /my/own/logdir:/var/log/mysql -e mysql_root_password=my-secret-pw -d mysql:tag
資料表備份
docker exec some-mysql sh -c 'exec mysqldump --all-databases -uroot -p"$mysql_root_password"' > /some/path/on/your/host/all-databases.sql
下面就是基本的操作,收回root許可權,建庫,開使用者……
等等,資料庫檔案在哪??還有,字符集不是utf-8??閱讀官方文件,得知/etc/mysql/conf.d下可以自定義配置檔案,於是乎自己建了乙個my.cnf,重新執行:
$ sudo docker run --name mysql -p 12345:3306 -v $docker_runtime/mysql/data:/var/lib/mysql -v $docker_runtime/mysql/conf:/etc/mysql/conf.d -d mysql:5.6.35
這裡順便改了資料庫檔案的目錄,$docker_runtime是我自己定義的環境變數,各位可以自行指定。
ok~
mysql 官方映象 執行官方mysql 映象
目前最新的為mysql 8 sudo docker run itd restart unless stopped net host name mysql p3306 3306 e mysql root password root mysql mysql 官方docker 需要重新設定密碼,否則無法遠...
使用docker官方映象安裝mysql服務
使用docker官方映象安裝mysql服務 1 拉取mysql映象,採用網易加速位址 2 重新命名映象名 3 建立用於掛載的目錄 sudo mkdir my mysql datadir 用於掛載mysql資料檔案 sudo mkdir my mysql conf.d 用於掛載mysql配置檔案 su...
Docker 中國官方映象加速
docker 中國官方映象加速可通過 registry.docker cn.com 訪問。該映象庫只包含流行的公有映象。私有映象仍需要從美國映象庫中拉取。例如 docker pull registry.docker cn.com library ubuntu 16.04 注 除非您修改了 docke...