Docker下安裝MySQL,普通安裝方式和docker-compose方式安裝
方式一
- 搜索MySQL鏡像
docker search mysql
- 拉取鏡像
docker pull mysql:5.7
- 運行
docker run -d -p 3306:3306 mysql:5.7
上面這種方式簡單,但是沒有對mysql做配置,雖然也可以在命令後面加參數,但是寫起來比較麻煩。推薦下面的dcoker-compose.yml方式(需安裝docker-compose)。
方式二
- 創建目錄
mkdir /usr/local/mysql
- 進入mysql目錄
cd /usr/local/mysql
- 在mysql目錄下創建docker-compose.yml文件,內容如下
version: '3.1'
services:
mysql:
image: mysql:5.7
container_name: mysql57
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: "123456"
MYSQL_USER: 'root'
MYSQL_PASS: '123456'
volumes:
- ./data:/var/lib/mysql
- ./conf/my.cnf:/etc/my.cnf
restart: always
network_mode: "bridge"
其中
network_mode
:爲容器的網絡模式。
MYSQL_ROOT_PASSWORD
:爲數據庫的密碼,也就是root用戶的密。
MYSQL_USER
和MYSQL_PASS
:代表用戶名和密碼。
image
:爲你拉取鏡像的地址和版本,當然也可以換成自己的鏡像倉庫,這裏使用官方的。
volumes
:裏面的參數爲映射本地和docker容器裏面的文件夾和目錄。
ports
:爲映射端口。
- 創建存放數據的文件夾data
mkdir /usr/local/mysql/data
- 創建存放配置的的文件夾conf
mkdir /usr/local/mysql/conf
- 創建配置文件
cd /usr/local/mysql/conf
vi my.cnf
內容如下:
[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
- 啓動
docker-compose up -d
- navicat測試連接
- 如果需要停掉mysql
docker-compose down