Docker中部署MySQL資料庫

2021-09-26 14:38:04 字數 3428 閱讀 5504

[root@zzsu docker]# mkdir db-docker

[root@zzsu docker]# cd db-docker

[root@zzsu db-docker]# touch docker-compose.yml

[root@zzsu db-docker]# cat docker-compose.yml

version: '3.1'

services:

mysql-development:

image: mysql:8.0.17 //要使用的docker映象是mysql:8.0.17。 如果不將tag指定為8.0.17,則將採用最新的tag。

environment: //指定的是環境變數,即使用者,密碼和資料庫。 如果您未指定使用者,則預設情況下它將為root。

mysql_root_password: 123.com

ports: //埠對映

- "3336:3306"

[root@zzsu db-docker]# docker-compose up    //拉取docker映象(如果映象在本地不存在,它將從docker hub拉出)然後執行容器

# 檢視狀態:

root@zzsu db-docker]# docker ps -a

container id image command created status ports names

02f1e29b8ddc mysql:8.0.17 "docker-entrypoint..." about a minute ago up 9 seconds 33060/tcp, 0.0.0.0:3336->3306/tcp dbdocker_mysql-development_1

連線到容器化的mysql,不通過對映埠,來自在同乙個docker網路上執行的另乙個應用程式,我們必須使用像adminer這樣的工具;

在docker-compose.yml檔案中新增另一項服務——adminer.

# 停止執行容器

[root@zzsu db-docker]# docker-compose down

# 在docker-compose.yml檔案中新增以下內容:

[root@zzsu db-docker]# cat docker-compose.yml

version: '3.1'

services:

mysql-development:

image: mysql:8.0.17

environment:

mysql_root_password: 123.com

ports:

- "3336:3306"

admin:

image: adminer

ports:

- "8080:8080"

# 再次啟動docker 容器:

[root@zzsu db-docker]# docker-compose up -d

* 可以使用docker-compose ps檢查狀態。

[root@zzsu db-docker]# cat docker-compose.yml

version: '3.1'

services:

mysql-development:

image: mysql:8.0.17

environment:

mysql_root_password: 123.com

ports:

- "3336:3306"

admin:

image: adminer

ports:

- "8080:8080"

mysql-old:

image: mysql:5.7.27

environment:

mysql_root_password: 123.com

ports:

- "3366:3306"

# 啟動容器

[root@zzsu db-docker]# docker-compose down //先閉關之前啟動的

[root@zzsu db-docker]# docker-compose up -d

# 檢視

[root@zzsu db-docker]# docker ps -a

container id image command created status ports names

8f77ad8fc3d9 mysql:8.0.17 "docker-entrypoint..." 10 seconds ago up 7 seconds 33060/tcp, 0.0.0.0:3336->3306/tcp dbdocker_mysql-development_1

f817d0f93337 adminer "entrypoint.sh doc..." 10 seconds ago up 8 seconds 0.0.0.0:8080->8080/tcp dbdocker_admin_1

303665b2b231 mysql:5.7.27 "docker-entrypoint..." 10 seconds ago up 7 seconds 33060/tcp, 0.0.0.0:3366->3306/tcp dbdocker_mysql-old_1

# 進入mysql5.7

mysql> show databases;

+--------------------+

| database |

+--------------------+

| information_schema |

| mysql |

| performance_schema |

| sys |

+--------------------+

5 rows in set (0.00 sec)

Docker中部署Golang專案

參考 1.安裝docker 參考 2.預設你已經有乙個可以正常執行的golang專案了 比如叫project 啟動方式 go run main.go 參考 3.cd project touch dockerfile 4.dockerfile寫入 from golang 1.13 maintainer...

在docker中部署gitlab

docker pull gitlab gitlab ce 12.5.4 ce.0 2.在docker建立容器,讓gitlab跑起來 docker run d publish 8443 443 publish 10080 80 publish 1022 22 name gitlab restart a...

docker中部署django專案

docker pull ubuntu 15.10docker run itd name vth django v etc apt mnt vths v1.1 bin bash v的意思是把本地的目錄掛載到docker上。冒號之前是宿主機的目錄,冒號之後是docker的目錄。進入容器之後,把 mnt ...