docker pull tomcat:jdk8-corretto-al2
docker run -d -p 8080:8080 tomcat:jdk8-corretto-al2
docker pull mysql:5.7
docker run -d -p 13306:3306 -v /docker/mysql/5.7/log:/var/log/mysql -v /docker/mysql/5.7/data:/var/lib/mysql -v /docker/mysql/5.7/conf:/etc/mysql/conf.d --privileged=true -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
指令说明
docker-hub mysql 中解释了相关路径配置和参数配置,如


坑
远程连接 ERROR 2003
查看 root 用户权限
use mysql;
select User,authentication_string,Host from user;

添加 root 用户远程访问权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
指定 mysql 字符集
一般,容器中的默认字符集都是 ladin,若建库建表时也未指定字符集可能导致一系列问题,比如无法录入中文
可以通过配置文件指定,配置文件目录是 docker run -v 中对应的目录
vim /docker/mysql/5.7/conf/my.cnf
[client]
default_character_set=utf8
[mysqld]
collation_server=utf8_general_ci
character_set_server=utf8
重启容器,
docker restart mysql容器的ID
docker pull redis:6.0.8
docker run -d -p 16379:6379 --privileged=true \
-v /docker/redis/6.0.8/conf/redis.conf:/etc/redis/redis.conf \
-v /app/redis/6.0.8/data:/data \
redis:6.0.8 \
redis-server /etc/redis/redis.conf
指令说明
redis.conf 内容
# 开启密码验证(可选)
requirepass 123
# 允许redis外地连接,需要注释掉绑定的IP
# bind 127.0.0.1
# 关闭保护模式(可选)
protected-mode no
# 注释掉daemonize yes,或者配置成 daemonize no。因为该配置和 docker run中的 -d 参数冲突,会导致容器一直启动失败
daemonize no
# 开启redis数据持久化, (可选)
appendonly yes