文章目录
使用 docker 安装 MySQL、Redis、Nginx、nacos、es+kibana、seata
–name=“容器新名字”:为容器指定一个名称;
-i:以交互模式运行容器,通常与-t或者-d同时使用;
-t:为容器重新分配一个伪输入终端,通常与-i同时使用;
-d: 后台运行容器,并返回容器ID;
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
mysql:5.7.x
https://hub.docker.com/search?q=mysql&type=image
docker pull mysql:5.7.38
查看镜像
root@kong:/data/software# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 5.7.38 697daaecf703 16 hours ago 448MB
运行创建容器
# 设置 /etc/mysql/my.cnf 和 /etc/mysql/conf.d/my.cnf 与设置从后者采取优先。
################################ Linux端 #################################
docker run -p 3306:3306 --name mysql \
-v E:\docker\mysql\log:/var/log/mysql \
-v E:\docker\mysql\data:/var/lib/mysql \
--restart=always \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7.38 \
--log-bin=mysql-bin \
--server-id=1 \
--binlog_format=ROW \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_general_ci \
--symbolic-links=0 \
--max_connections=1000 \
--explicit_defaults_for_timestamp=true
################################## window端 ###############################
# 使用config
docker run -p 3306:3306 --name mysql -v E:\docker\mysql\data:/var/lib/mysql -v E:\docker\mysql\conf:/etc/mysql/ --restart=always -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.38
# 使用命令配置(推荐)
docker run -p 3306:3306 --name mysql -v E:\docker\mysql\log\:/var/log/mysql/ -v E:\docker\mysql\data:/var/lib/mysql --restart=always -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.38 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
在主机里配置mysql:
/docker/mysql/conf$ sudo vim my.cnf
[client]
default_character-set=utf8
[mysql]
default-character-set=utf8mb4
[mysqld]
#log-bin=mysql-bin
#server-id=1
#binlog_format=ROW
init_connect='SET collation_connection=utf8mb4_general_ci'
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
skip-character-set-client-handshake
skip-name-resolve
default-storage-engine