MySQL部署
- 容器內的網路服務和外部機器不能直接通訊
- 外部機器和宿主機可以直接通訊
- 宿主機和容器可以直接通訊
- 當容器中網路服務需要被外部訪問時,可以將容器中提供服務的網路埠對映到宿主機的埠上。外部機器訪問宿主機的該埠,從而間接訪問容器的服務。
- 這種操作叫做:埠對映。
具體部署:
搜尋MySQL映象
docker search mysql
拉取映象
docker pull mysql:5.7
建立容器,設定埠對映、目錄對映
在/root目錄下建立mysql目錄用於儲存mysql資料資訊 mkdir ~/mysql cd ~/mysql
docker run -id\ -p 3307:3306\ --name=c_mysql\ -v $PWD/conf:/etc/mysql/conf.d\ -v $PWD/logs:/logs\ -v $PWD/data:/var/lib/mysql\ -e MYSQL_ROOT_PASSWORD=123456\ mysql:5.7
- 引數說明:
- -p3307:3306 將容器的3306埠對映到宿主機的3307埠
- -v $PWD/conf:/etc/mysql/conf.d 將主機當前目錄下的conf/my.cnf掛載到容器的/etc/mysql/my.cnf。配置目錄
- -v$PWD/logs:/logs 將主機當前目錄下的logs目錄掛載到容器的/logs。日誌目錄。
- -v $PWD/data:/var/lib/mysql 將主機當前目錄下的data目錄掛載到容器的/var/lib/mysql。資料目錄
- -e MYSQL_ROOT_PASSWORD=123456 初始化root使用者的密碼
- 登入mysql:
mysql -uroot -p
本作品採用《CC 協議》,轉載必須註明作者和本文連結