在docker上安裝運行mysql實例

ps:實驗環境是:CentOS Linux release 7.3  64位
1.獲取mysql鏡像
從docker hub的倉庫中拉取mysql鏡像
docker pull mysql
查看鏡像
docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/mysql     5.7                 b4e78b89bcf3        9 days ago          412.3 MB
 
2.運行一個mysql容器
運行一個mysql實例的命令以下:
docker run --name first-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
5b6bf6f629bfe46b4c8786b555d8db1947680138b2de1f268f310a15ced7247a
上述命令各個參數含義:
run            運行一個容器
--name         後面是這個鏡像的名稱
-p 3306:3306   表示在這個容器中使用3306端口(第二個)映射到本機的端口號也爲3306(第一個)
-d             表示使用守護進程運行,即服務掛在後臺
查看當前運行的容器狀態:
docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
fe41e155a6ca        mysql               "docker-entrypoint.sh"   46 minutes ago      Up 46 minutes       0.0.0.0:3306->3306/tcp   first-mysql
想要訪問docker的mysql數據庫,個人機器上須要裝一個mysql-client。
yum install mysql -y
下面咱們使用mysql命令訪問服務器,密碼如剛纔所示爲123456,192.168.1.20爲我這臺機器的ip, 3306爲剛纔所示的佔用本物理機的端口(不是在docker內部的端口)
mysql -h192.168.1.20 -P3306 -uroot -p123456
訪問的結果以下:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
 
3.運行第二個mysql實例
docker run --name second-mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
5404fb11f29cba07b991f34056d6b40ed0888aa905a45e637e396d071bd7f331
docker ps
CONTAINER ID    IMAGE        COMMAND         CREATED       STATUS       PORTS          NAMES
5404fb11f29c    mysql        "docker-entrypoint.sh"  12 seconds ago   Up 11 seconds    0.0.0.0:3307->3306/tcp  second-mysql
5b6bf6f629bf    mysql        "docker-entrypoint.sh"  43 minutes ago   Up 43 minutes    0.0.0.0:3306->3306/tcp  first-mysql
如上所示,兩個實例都正常運行了,爲了訪問第二個容器,咱們指定端口3307登陸到這個mysql的client。
mysql -h192.168.1.20 -P3307 -uroot -p123456
訪問的結果以下:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
 mysql

相關文章
相關標籤/搜索