本地製作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命令,發現新建了一個容器,狀態正常