Docker 入門系列三:Docker 應用部署-MySQL

lemon2018發表於2020-04-06

MySQL部署

  • 容器內的網路服務和外部機器不能直接通訊
  • 外部機器和宿主機可以直接通訊
  • 宿主機和容器可以直接通訊
  • 當容器中網路服務需要被外部訪問時,可以將容器中提供服務的網路埠對映到宿主機的埠上。外部機器訪問宿主機的該埠,從而間接訪問容器的服務。
  • 這種操作叫做:埠對映。

具體部署:

  1. 搜尋MySQL映象
    docker search mysql

  2. 拉取映象
    docker pull mysql:5.7

  3. 建立容器,設定埠對映、目錄對映

    /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使用者的密碼
  1. 登入mysql:
    mysql -uroot -p
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章