Docker學習之搭建MySql容器服務

阿里云云棲社群發表於2018-03-29

描述

MySQL 5.6 SQL資料庫伺服器Docker映象,此容器映像包含用於OpenShift的MySQL 5.6 SQL資料庫伺服器和一般用法。使用者可以選擇RHEL和基於CentOS的影像。然後CentOS映象可以在Docker Hub上以centos / mysql-56-centos7的形式獲得。

用法

查詢映象:

docker search mysql

獲取映象:

docker pull docker.io/centos/mysql-56-centos7

如果您只想設定必需的環境變數而不將資料庫儲存在主機目錄中,請執行以下命令:

docker run -d --name app_mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 docker.io/centos/mysql-56-centos7

如果你希望你的資料庫在容器執行過程中保持永續性,請執行以下命令:

# 建立資料儲存目錄 和配置檔案目錄
mkdir -p ~/home/mysql/data  ~/home/mysql/cnf.d
# 分別賦予讀寫許可權
chmod +766 data/
chmod +766 cnf.d/
# 建立並執行容器
docker run -d --name app_mysql -p 3307:3306 -v /home/mysql/cnf.d:/etc/my.cnf.d -v /home/mysql/data:/var/lib/mysql/data -e MYSQL_ROOT_PASSWORD=123456 docker.io/centos/mysql-56-centos7

命令說明:

  • p 3307:3306:將容器的3306埠對映到主機的3307埠
  • v /home/mysql/cnf.d:/etc/my.cnf.d:主機目錄:容器目錄
  • v /home/mysql/data:/var/lib/mysql/data:主機目錄:容器目錄
  • e MYSQL_ROOT_PASSWORD=123456:初始化root使用者的密碼

檢視容器執行情況:

docker ps

進入容器:

docker exec -it app_mysql  bash

命令說明:

  • d :分離模式: 在後臺執行
  • i :即使沒有附加也保持STDIN 開啟
  • t :分配一個偽終端

作者: 小柒
詳情請檢視原文

相關文章