目录
自己安装mysql的时候老是遇到问题,比如端口号没写,环境变量没写,就是想不到去docker hub上去看一看。
介绍两种方式安装mysql
方式一、container:
Image
端口号
环境变量
最主要是用环境变量设置用户名和密码:
MYSQL_ROOT_PASSWORD
比如:
name:MYSQL_ROOT_PASSWORD
value:
5.7版本 数据卷,配置文件: /etc/mysql/my.cnf,日志文件:/var/log/mysql,数据文件:/var/lib/mysql,
具体流程
创建mysql的挂载文件夹
mkdir /opt/mysql/{data,conf,logs} -p
编辑配置文件
[root@node-11 ~]# vim /opt/mysql/conf/mysqld.cnf [mysqld] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql lower_case_table_names = 1 忽略mysql查询大小写
运行mysql
docker run -p 3306:3306 --name mysql -v /opt/mysql/conf/mysqld.cnf:/etc/mysql/my.cnf -v /opt/mysql/data:/var/lib/mysql -v /opt/mysql/logs:/var/log/mysql -e MYSQL_ROOT_PASSWORD= -e TZ=Asia/Shanghai --restart=always -d mysql:5.7
方式二
compose配置文件启动
stack:建议使用stack,这样容器出问题也会自动重启。
yml
version: '3.1' services: db: image: mysql command: --default-authentication-plugin=mysql_native_password restart: always environment: MYSQL_ROOT_PASSWORD: "" ports: - 3306:3306 volumes: - data:/var/lib/mysql adminer: image: adminer restart: always ports: - 8099:8080 volumes: data:
注意:要加数据卷 ,保存数据。
volumes: - data:/var/lib/mysql
分号左侧是数据卷名称(实际路径),右侧是镜像里的路径
备注:
现在portainer只支持v2版本的compose,所以要把上面的配置版本改成2.0

version: '2.0' services: db: image: mysql command: --default-authentication-plugin=mysql_native_password restart: always environment: MYSQL_ROOT_PASSWORD: "" ports: - 3306:3306 volumes: - data:/var/lib/mysql adminer: image: adminer restart: always ports: - 8099:8080 volumes: data:
再更新:
chown: changing ownership of ‘/var/lib/mysql/’: Permission denied
centos的权限问题,在docker run中加入 –privileged=true 给容器加上特定权限
参考博客:
https://blog.csdn.net/_/article/details/
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222802.html原文链接:https://javaforall.net
