分为两个方法创建一个mysql的镜像
1 最基础的创建容器的方法
docker run -d -p 4306:3306
-e MYSQL_USER="cjwcjw" 添加用户
-e MYSQL_PASSWORD="pwd123" 设置用户的密码
-e MYSQL_ROOT_PASSWORD="rootpwd123" 设置root的密码
--name mysql 容器名
mysql 镜像名
--character-set-server=utf8 参数1
--collation-server=utf8_general_ci 参数2
version: "2"
services:
mysql:
image: mysql:latest
hostname: mysql
ports:
- "4306:3306"
environment:
MYSQL_USER: cjwcjw
MYSQL_PASSWORD: cjwcjw
MYSQL_ROOT_PASSWORD: cjwcjw
command: --character-set-server=utf8 --collation-server=utf8_general_ci --default-authentication-plugin=mysql_native_password
restart: always
2 通过在主机创建一个文件夹用来保存docker镜像中的mysql 数据
mkdir mysqltest
cd mysqltest
mkdir data
mkdir config
cd config
touch my.cnf
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
docker run -d -p 4306:3306
--restart always # 开机自启
--privileged=true 提升容器内权限
--name mysql001
-e MYSQL_USER="fengwei"
-e MYSQL_PASSWORD="pwd123"
-e MYSQL_ROOT_PASSWORD="rootpwd123"
-v=/mysqltest/config/my.cnf:/etc/my.cnf 映射配置文件
-v=/mysqltest/data:/var/lib/mysql # 映射数据文件
mysql/mysql-server
version: "2"
services:
mysql:
image: mysql:latest
hostname: mysql
ports:
- "4306:3306"
environment:
MYSQL_USER: cjwcjw
MYSQL_PASSWORD: cjwcjw
MYSQL_ROOT_PASSWORD: cjwcjw
volumes:
- "~/docker_mysql/config/my.config:/etc/my.conf"
- "~/docker_mysql/data:/var/lib/mysql"
restart: always
privileged: true
- 上面的路径根据自己的设置可以改变,这里就不做解释了