docker 部署 mysql + phpmyadmin 3種方法

# 創建容器 test-mysql (千萬別用 mysql:latest, 會哭)
# docker run --name test-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.6
# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
06b011faec62        mysql:5.6        "docker-entrypoint..."   2 seconds ago       Up 1 second         0.0.0.0:3306->3306/tcp   test-mysql

# 創建容器 test-phpmyadmin
# docker run --name test-phpmyadmin -p 8080:80 --link test-mysql:db -d phpmyadmin/phpmyadmin:latest
# docker ps -a
CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS                            NAMES
61d649adb46f        phpmyadmin/phpmyadmin:latest   "/run.sh superviso..."   3 seconds ago       Up 1 second         9000/tcp, 0.0.0.0:8080->80/tcp   test-phpmyadmin
06b011faec62        mysql:5.6                   "docker-entrypoint..."   2 minutes ago       Up 2 minutes        0.0.0.0:3306->3306/tcp           test-mysql

方法2: network

# 創建網絡 net-mysql
# docker network create net-mysql

# 創建容器 test-mysql 並加入網絡 net-mysql
# docker run --restart always --name test-mysql -e MYSQL_USER=root -e MYSQL_PASSWORD=root -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 --network net-mysql -d mysql:5.6

# 創建容器 test-phpmyadmin 並加入網絡 net-mysql
# docker run --name test-phpmyadmin -e MYSQL_USER=root -e MYSQL_PASSWORD=root -e MYSQL_ROOT_PASSWORD=root -e PMA_HOST=test-mysql -p 8080:80 --network net-mysql -d phpmyadmin/phpmyadmin:latest

# docker ps -a
CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS                  PORTS                            NAMES
3360662bd083        phpmyadmin/phpmyadmin:latest   "/run.sh superviso..."   12 seconds ago      Up 5 seconds            9000/tcp, 0.0.0.0:8080->80/tcp   test-phpmyadmin
134c981b41f3        mysql:5.6                      "docker-entrypoint..."   19 seconds ago      Up Less than a second   0.0.0.0:3306->3306/tcp           test-mysql

方法3: docker-compose.yml

docker-compose.yml 內容:

version: "2"
services:
  mysql:
    image: mysql:5.6
    container_name: test-mysql
    restart: always
    ports:
      - "3306:3306"
    environment:
      MYSQL_USER: "root"
      MYSQL_PASSWORD: "root"
      MYSQL_ROOT_PASSWORD: "root"
    networks:
      - net-mysql

  phpmyadmin:
    image: phpmyadmin/phpmyadmin:latest
    container_name: test-phpmyadmin
    ports:
      - "8080:80"
    environment:
      MYSQL_USER: "root"
      MYSQL_PASSWORD: "root"
      MYSQL_ROOT_PASSWORD: "root"
      PMA_HOST: test-mysql
    networks:
      - net-mysql

networks:
  net-mysql:
# docker-compose up -d
# docker ps -a
CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS                            NAMES
a1fdbba2ee85        phpmyadmin/phpmyadmin:latest   "/run.sh superviso..."   12 seconds ago      Up 9 seconds        9000/tcp, 0.0.0.0:8080->80/tcp   test-phpmyadmin
61f4177a92f1        mysql:5.6                      "docker-entrypoint..."   12 seconds ago      Up 10 seconds       0.0.0.0:3306->3306/tcp           test-mysql

打開瀏覽器, 輸入 localhost:8080 即可訪問 phpmyadmin 界面, 帳號密碼都是 root





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章