前面咱們已經安裝好了Docker,也簡單瞭解了Docker。那麼咱們能夠嘗試搭建一個MySQL服務。mysql
要搭建服務就要啓動服務容器,要建立容易就要有鏡像,Docker提供了一個相似Github的開源平臺,提供開源鏡像,放心可靠。(畢竟你們都看着源碼呢)sql
Docker開源鏡像傳送門docker
1. 下載MySQL鏡像
2. 建立運行容器數據庫
好像很簡單是吧?bash
MySQL文檔地址:
https://hub.docker.com/_/mysql/markdown
$ sudo docker pull mysql
以後docker會自動拉取(下載)MySQL鏡像。tcp
等待一樣是漫長的。。。ide
注意,若提示拉取失敗就重複幾回,總有一次會成功的。。。沒辦法,牆內的人民很辛苦測試
拉取成功後咱們查看一下:ui
$ sudo docker images
輸入如下命令:
$ sudo docker run --name pwc-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql
pwc-mysql
mysql
的root用戶
的登錄密碼主機3306端口
到容器pwc-mysql的3306端口
73f8811f669ee...
mysql
指的是mysql鏡像名字
到這裏咱們查看容器運行狀態:
$ sudo docker ps
上圖能夠看到容器的簡寫ID,容器的源鏡像,建立時間,狀態,端口映射信息,容器名字等。
這裏我使用navicat遠程鏈接,鏈接MySQL前須要防火牆開放端口或者關閉防火牆。
開放端口:
$ sudo firewall-cmd --add-port=3306/tcp
關閉防火牆:
$ sudo systemctl stop firewalld
接着使用navicat鏈接
鏈接成功,也能夠進行相關數據庫操做,所以MySQL服務搭建成功!
1.能夠啓動多個MySQL服務,由於咱們啓動的是容器,容器能夠有多個,只要容器名字映射段端口不同就能夠了,例如:
$ sudo docker run --name dbdb -e MYSQL_ROOT_PASSWORD=123456 -p 6666:3306 -d mysql
2.查看全部容器(啓動狀態或者關閉狀態)
$ sudo docker ps -a
3.啓動和關閉容器
啓動命令:
$ sudo docker start pwc-mysql //經過指定容器名字
$ sudo docker start 73f8811f669e //經過指定容器ID
關閉命令:
$ sudo docker stop pwc-mysql //經過指定容器名字
$ sudo docker stop 73f8811f669e //經過指定容器ID
3.修改MySQL配置文件有兩種方法:
一是進入容器,修改容器裏的MySQL的配置文件,而後從新啓動容器,例如:
$ sudo docker exec -it pwc-mysql /usr/bin/bash
而後能夠進入容器的命令行模式,接着修改 /etc/mysql/my.cnf
文件便可
二是掛載主機的mysql配置文件,官方文檔以下:
The MySQL startup configuration is specified in the file /etc/mysql/my.cnf
, and that file in turn includes any files found in the /etc/mysql/conf.d
directory that end with .cnf. Settings in files in this directory will augment and/or override settings in /etc/mysql/my.cnf
. If you want to use a customized MySQL configuration, you can create your alternative configuration file in a directory on the host machine and then mount that directory location as /etc/mysql/conf.d
inside the mysql container.
If /my/custom/config-file.cnf
is the path and name of your custom configuration file, you can start your mysql container like this (note that only the directory path of the custom config file is used in this command):
$ docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
This will start a new container some-mysql where the MySQL instance uses the combined startup settings from /etc/mysql/my.cnf
and /etc/mysql/conf.d/config-file.cnf
, with settings from the latter taking precedence.
我大概能夠看懂,相信你們均可以的