使用 mysql docker 映象

2021-07-25 07:38:22 字數 2847 閱讀 9975

命令: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-secret-pw -d mysql:tag

案例:

sudo docker run --name mysql1 -e mysql_root_password=root -d mysql:5.7

sudo docker ps

啟動 mysql 客戶端,命令:

docker run -it --link mysql1:mysql --rm mysql sh -c 'exec mysql -h"$mysql_port_3306_tcp_addr" -p"$mysql_port_3306_tcp_port" -uroot -p"$mysql_env_mysql_root_password"'
不得不驚訝於在不知道容器位址等資訊的條件下,客戶機如何與伺服器通訊的。以下是一些 docker run 的知識2。

命令格式:

sudo docker run [options] image[:tag] [command] [arg...]

一些 options:

--link container-name:alias會導致服務容器暴露的環境資訊匯入當前容器,例如:

sudo docker run -it

--rm --

link mysql1:mysql_alias mysql /bin/bash -c export

輸出:declare -x gosu_version=

"1.7"

declare -x home=

"/root"

declare -x hostname=

"e407cd8771cc"

declare -x mysql_alias_env_gosu_version=

"1.7"

declare -x mysql_alias_env_mysql_major=

"5.7"

declare -x mysql_alias_env_mysql_root_password=

"root"

declare -x mysql_alias_env_mysql_version=

"5.7.16-1debian8"

declare -x mysql_alias_name=

"/silly_kirch/mysql_alias"

declare -x mysql_alias_port=

"tcp:"

declare -x mysql_alias_port_3306_tcp=

"tcp:"

declare -x mysql_alias_port_3306_tcp_addr=

"172.17.0.2"

declare -x mysql_alias_port_3306_tcp_port=

"3306"

declare -x mysql_alias_port_3306_tcp_proto=

"tcp"

declare -x mysql_major=

"5.7"

declare -x mysql_version=

"5.7.16-1debian8"

declare -x oldpwd

declare -x path=

"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

declare -x pwd=

"/"declare -x shlvl=

"1"declare -x term=

"xterm"

通過容器埠發布,能訪問主機的埠機器都可以獲得容器服務,例如:

sudo docker run -p 3306:3306 --name mysql2 -e mysql_root_password=root -d mysql:5.7
這時,主機客戶端使用主機 ip 位址和埠也能訪問 容器 mysql2 中的服務。

有時,我們需要管理後台容器,docker exec container-name 最方便

sudo docker exec -it mysql1 /bin/bash

mysql -uroot

-p

熟悉的客戶端就出來了。

我們需要做集群、修改字符集支援,就需要指定 my.ini 配置檔案。

當然,你可以直接用 docker exec 進入,修改 my.ini 直接發布新映象。

mysql 官方映象早考慮到你的需要,僅需在 run 命令中加入

-v /my/custom:/etc/mysql/conf.d其中,/etc/mysql/conf.d 是掛載點,

你可以用 /my/custom 下的 my.ini 配置容器中 mysql。

同樣,使用-v /my/own/datadir:/var/lib/mysql掛載本地儲存。

如果你完成了 mysql 配置,可嘗試 redis 配置。。。

【參考】

官方指南。 /mysql/」> ↩

docker run 命令。

Mysql Docker 映象使用

開啟docker官方registry 搜尋mysql關鍵字 選擇官方mysql映象 選擇需要的版本,複製命令拉取映象 啟動mysql server 例項 docker run name some mysql e mysql root password my secret pw d mysql tag...

雲倉庫安裝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 缺省會在...