開啟docker官方registry
搜尋mysql關鍵字
選擇官方mysql映象
選擇需要的版本,複製命令拉取映象
啟動mysql server 例項
docker run --name some-mysql -e mysql_root_password=my-secret-pw -d mysql:tag
some-mysql:容器名
my-secret-pw: mysql root賬號密碼
tag:mysql版本號
比如:
docker run --name msyql5.7 -e mysql_root_password=123456 -d -p mysql:5.7
使用mysql 客戶端命令列連線到mysql server
docker run -it --rm mysql:tag mysql -hsome.mysql.host -usome-mysql-user -p
比如:
docker run -it --rm mysql:5.7 mysql -h172.17.0.2 -uroot -p
檢視mysql server日誌
docker logs some-mysql
比如:
docker logs msyql5.7
映象的預設配置位於/etc/mysql/my.cnf,該配置檔案主要引用位於目錄/etc/mysql/conf.d/
和/etc/mysql/conf.d/
中的配置。
my.cnf:
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
如果想要用自己的配置檔案來啟動mysql,可以將自己的配置檔案目錄掛載容器的/etc/mysql/conf.d/上,這樣mysql就自動引入自定義配置了:
docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e mysql_root_password=my-secret-pw -d mysql:tag
/my/custom: 本地的配置檔案路徑,比如裡面有配置檔案config-file.cnf,那麼容器啟動後,在容器的/etc/mysql/conf.d目錄中就會存在config-file.cnf檔案,那麼也會被my.cnf載入。
如果自定義的配置項少,也可以直接給mysqld傳遞引數的方式配置:
docker run --name some-mysql -e mysql_root_password=my-secret-pw -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
使用下面這條命令可以查詢所有可配置的選項(本質執行mysqld --verbose --help 命令):
docker run -it --rm mysql:tag --verbose --help
mysql_root_password
用來設定root賬號的密碼
mysql_database
用來指定資料庫
mysql_user
,mysql_password
用來指定使用者和密碼
mysql_allow_empty_password
是否允許root賬號是空密碼
mysql_random_root_password
為root賬號隨機生成密碼
mysql_onetime_password
設定root賬號登入後必須修改密碼
容器中的資料目錄位於 /var/lib/mysql 中。那麼基於docker的資料卷管理,有兩種管理資料儲存方式:
使用docker內部的資料卷管理機制,這種方式非常方便,不需要你做額外的處理,不好的是不方便在宿主機上找到對應的資料目錄。
自己在宿主機上建立資料目錄,並mount到容器中的 /var/lib/mysql 目錄上。這種方式好處是資料目錄容易找到,不好的是你需要確保宿主機上的資料目錄存在,許可權正確等額外的管理工作。
一般我們開發在本地使用時,使用第一種方式就好了。
對於第二種方式,可使用如下命令來將宿主機的目錄對映到容器中:
docker run --name some-mysql -v /my/own/datadir:/var/lib/mysql -e mysql_root_password=my-secret-pw -d mysql:tag
使用已經存在的資料庫
此時mysql_root_password環境變數設定會被忽略。
使用特定的賬號執行
docker run -v "$pwd/data":/var/lib/mysql --user 1000:1000 --name some-mysql -e mysql_root_password=my-secret-pw -d mysql:tag
dump & restore
dumps:
docker exec some-mysql sh -c 'exec mysqldump --all-databases -uroot -p"$mysql_root_password"' > /some/path/on/your/host/all-databases.sql
restore:
docker exec -i some-mysql sh -c 'exec mysql -uroot -p"$mysql_root_password"' < /some/path/on/your/host/all-databases.sql
使用 mysql docker 映象
命令 dockor pull mysql tag 案例 sudo dockor pull mysql 5.7 sudo dockor images啟動 mysql 伺服器,命令 sudo docker run name some mysql e mysql root password my secr...
雲倉庫安裝mysql docker安裝MySQL
把mysql放進docker,總共需要幾步?本次就通過社群版容器安裝2個mysql例項,看一下部署有多簡單。1 安裝docker 作業系統我使用的centos7 x64系統,而docker 目前看僅centos 7 及以上版本。本次採用docker 倉庫進行安裝 具體步驟如下 1.1 設定倉庫 因本...
docker映象使用
可以去 搜尋dockerfile mysql 缺省會在 3306 埠啟動資料庫。sudo docker run name some mysql e mysql root password mysecretpassword d mysql 之後就可以使用其它應用來連線到該容器。mongodb 缺省會在...