docker安装mysql
- 在docker仓库中查找mysql
docker search mysql
- 下载镜像(自定义下载版本可去这里查看)
docker pull mysql #默认镜像版本
docker pull mysql:8.0 #自定义镜像版本
- 查看docker下的镜像
docker images
查看mysql镜像版本(会创建一个mysql容器)
docker run -it mysql /bin/bash
mysql -V
镜像下载完成后,需要自定义mysql的data,log,conf文件夹,将文件夹挂载到容器上
创建文件夹:
cd /usr/local
mkdir mysql
cd mysql
mkdir data
mkdir log
mkdir conf
在conf文件夹中创建配置文件
touch mysqldump.cnf
touch mysql.cnf
vi命令编辑配置文件
mysqldump.cnf
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
mysql.cnf
[mysql]
default-character-set = utf8mb4
[mysql_safe]
default-character-set = utf8mb4
[client]
default-character-set = utf8mb4
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
symbolic-links=0
# 修改mysql默认字符集
init_connect = 'SET NAMES utf8mb4'
character-set-server = utf8mb4
collation-server = utf8mb4_0900_ai_ci
default-authentication-plugin = mysql_native_password
default-time_zone = '+8:00'
- 启动一个mysql容器
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql/conf:/etc/mysql/conf.d -v /usr/local/mysql/log:/var/log/mysql --privileged=true -d mysql:8.0
#参数:
#--name 容器名
#-p 端口映射 主机端口 : 容器端口
#-e MYSQL_ROOT_PASSWORD root账户密码
#-e TZ 容器的时区
#-v 分别把本地的配置文件目录、数据文件目录、错误日志目录挂载到容器对应的目录上
#-d 守护进程,一直执行,后边是镜像名字及TAG
- 查看启动的容器
docker ps -a
- 要操作数据库需先开启docker的交互终端
docker exec -i -t mysql /bin/bash # mysql是容器名
- 要操作数据库需先开启docker的交互终端
docker exec -i -t mysql /bin/bash # mysql是容器名
- 进入数据库(密码为启动容器配置的密码)
mysql -u root -p
- 创建user用户并授权(可远程登录用户)
> CREATE USER 'user'@'%' IDENTIFIED BY '你的密码';
> GRANT ALL ON *.* TO 'user'@'%';
> ALTER USER 'user'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
- 退出mysql终端和docker终端
exit;
exit
- 终止容器
docker ps -a
docker stop 容器ID #容器ID可用docker ps -a 命令查看 CONTAINER ID
- 删除容器
docker rm 容器ID #容器ID可用docker ps -a 命令查看 CONTAINER ID
- 删除镜像(需先停止其运行的容器)
docker images
docker rmi 镜像ID #镜像ID可用docker images 命令查看 IMAGE ID
- 删除所有镜像(需先停止其运行的容器)
docker rmi $(docker images -q)
附:docker安装nginx run命令
docker run -d --name sslnginx
挂载配置文件
-v /usr/local/nginx/conf:/etc/nginx/nginx.conf
挂载证书目录
-v /etc/ssl/90hou.xyz/Nginx:/etc/nginx/cert
挂载日志目录
-v /usr/local/nginx/logs:/var/log/nginx
-v /root/react-demo:/root/react-demo
时间同步
-v /etc/localtime:/etc/localtime
-p 80:80
-p 443:443
增加host映射
–add-host server01:172.26.245.47
–add-host server02:172.26.245.48
nginx:alpine