1. 程式人生 > >本地製作mysql映象並在docker中啟動容器

本地製作mysql映象並在docker中啟動容器

docker相關命令:

docker ps:檢視啟動成功的容器

docker ps -a:檢視所有啟動的容器(包括啟動異常的容器)

docker rm 容器id:刪除容器

docker stop 停止容器

docker-compose:通過載入配置檔案的方式啟動容器

1、拉取mysql映象,採用網易加速地址
    docker pull hub.c.163.com/library/mysql:5.7

2、重新命名映象名
    docker tag hub.c.163.com/library/mysql:5.7 mysql:5.7

3、建立檔案備份目錄

    3.1、mkdir /Users/trusause/mysql/conf

    3.2、mkdir /Users/trusause/mysql/logs

    3.3、mkdir /Users/trusause/mysql/data/mysql

4、/Users/trusause/mysql/conf下新建my.cnf檔案(5.7.18以後需要)



5、啟動

方式一:通過docker命令啟動

docker run -p 3306:3306 --name mysql:5.7 -v /Users/trusause/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /Users/trusause/mysql/logs:/logs -v /Users/trusause/mysql/data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=password -d mysql:5.7

方式二:通過docker-compose命令載入配置檔案啟動

注意:一定需要加tty: true否則啟動會報錯:Exited (0) About a minute ago

啟動失敗是因為缺失了控制終端的配置,這裡有兩種方式修復:

1、增加一個配置tty: true

version: '2'
services:
    mysql:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: "password"
    ports:
      - 3306:3306
    restart: always
    logging:
      options:
        max-size: "10m"
        max-file: "10"
    tty: true

2、使用exec重新建立容器(不推薦)
這種方式並不推薦,因為這樣做雖然可以啟動容器,但是隻能重新建立一個容器,具體方法如下: 
1. 使用docker-compose up -d命令啟動後,由於沒有tty:true的配置,容器就退出了; 
2. 這時候執行命令docker-compose run master /bin/bash,會建立一個容器,並且進入這個容器; 
3. 在當前電腦再開啟一個控制檯,執行docker ps命令,發現新建了一個容器,狀態正常