mysql
docker pull mysql:8.0.25
简单运行
docker run -itd --name mysql-service -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.25
建立相关目录
mkdir -p /mnt/docker/mysql/mysql-files
mkdir -p /mnt/docker/mysql/logs
mkdir -p /mnt/docker/mysql/config
mkdir -p /mnt/docker/mysql/data
新建配置
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
#实现mysql不区分大小(开发需求,建议开启)
lower_case_table_names=1
# By default we only accept connections from localhost
# bind-address = 127.0.0.1
# 侦听所有 IPv4 接口
bind-address = 0.0.0.0
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# 默认时区
default-time_zone = '+8:00'
# 更改字符集 如果想Mysql在后续的操作中文不出现乱码,则需要修改配置文件内容
character-set-server=utf8mb4
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
docker run -d -p 31306:3306 -e MYSQL_ROOT_PASSWORD=ashhDFgHU \
-v /mnt/docker/mysql/mysql-files:/var/lib/mysql-files \
-v /mnt/docker/mysql/config/my.cnf:/etc/mysql/my.cnf \
-v /mnt/docker/mysql/config:/etc/mysql \
-v /mnt/docker/mysql/data:/var/lib/mysql \
-v /mnt/docker/mysql/logs:/var/log/mysql \
-e TZ=Asia/Shanghai \
--restart always \
--name=mysql mysql:8.0.25
修改密码加密规则
=Mysql8.0之前的版本中,加密规则是mysql_native_password,在Mysql8之后,加密规则是caching_sha2_password
当使用低版本客户端登陆,或者项目直接使用密码访问时会报错,因此有两种解决方式:1、升级客户端;2、更改Mysql加密方式
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
其他异常处理
密码策略异常:https://blog.csdn.net/Hello_World_QWP/article/details/79551789
redis
docker pull redis:6.2
docker run -d --name redis-server \
--restart always \
-p 6379:6379 \
redis:6.2
minio
mkdir -p /mnt/docker/minio/data
mkdir -p /mnt/docker/minio/config
docker pull minio/minio
docker run --name minio \
-d --restart=always \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=admin1234" \
-v /mnt/docker/minio/data:/data \
-v /mnt/docker/minio/config:/root/.minio \
-p 9000:9000 \
-p 9999:9999 \
minio/minio server /data \
--console-address '0.0.0.0:9999'
java
FROM java:8
MAINTAINER yourName
ADD yourServer.jar service.jar
ENV TZ Asia/Shanghai
RUN ln -fs /usr/share/zoneinfo/${TZ} /etc/localtime \
&& echo ${TZ} > /etc/timezone
EXPOSE 9667
ENTRYPOINT ["java","-jar","service.jar"]