9安装实战-cnblog
安装实战
(最重要的是解决数据保存的问题,即如何在容器被删除之后,数据仍然保存完好 ——可以根据数据卷的映射关系处理)
安装tomcat

在docker版本的webapps默认是空的,需要将webapps.dist重命名为webapps,才能显示默认的页面
安装Mysql(需要注意数据备份问题)
https://cloud.tencent.com/developer/article/1957621
参考配置命令
# docker从仓库中拉取最新版的mysql镜像,如果没加标签的话,默认获取最新的版本
Docker pull mysql
# 创建挂载的目录,最好创建在home目录下,否则可能会有管理员访问权限的问题,因为docker容器中是普通用户
mkdir -p /home/docker/mysql/conf && mkdir -p /home/docker/mysql/data
# 把mysql临时运行起来,这时候mysql是还没有挂载数据卷的,为了取出 my.cnf文件
docker run --name mysqltest -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql
# 复制my.cnf文件到本地目录,取出之后之前的运行的mysql容器就可以删除了
docker cp mysqltest:/etc/mysql/my.cnf /home/docker/mysql/conf
# 启动mysql挂载数据卷,
docker run --name mysql \
-p 3306:3306 \
# 提升容器内权限,如果没有添加--privileged=true参数,容器创建后不能正常启动,查看日志发现有权限的错误
--privileged=true \
# 映射配置文件
-v /home/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf \
# 映射数据目录
-v /home/docker/mysql/data:/var/lib/mysql \
# 映射日志目录
-v /home/docker/mysql/log:/var/log/mysql \
# 这个挂卷必须添加,否则在启动的时候会报找不到这个文件错误
-v /home/docker/mysql/mysql-files:/var/lib/mysql-files \
-e TZ=Asia/Shanghai \
# 添加用户muyisanshuiliang
-e MYSQL_USER="muyisanshuiliang" \
# 设置用户muyisanshuiliang密码
-e MYSQL_PASSWORD="123456" \
# 设置root用户密码
-e MYSQL_ROOT_PASSWORD="123456" \
# --restart=on-failure:3是指容器在未来出现异常退出(退出码非0)的情况下循环重启3次
# --restart=always 一直重启
--restart=on-failure:3 -d \
# 启动的镜像名称
mysql:latest \
# 设置字符集,如果在配置文件中做了配置,此处可以不写
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_general_ci
# 如果远程访问不了,则进行以下操作,进入容器中,设置远程访问
docker exec -it mysql bash
# 登录mysql
mysql -uroot -p123456
# 切换到mysql数据库
use mysql;
# 查询user表,如果有两个root用户,删除掉host=%的root数据,再修改localhost为%
select host, user, authentication_string, plugin from user;
delete from user where host="%" and user="root";
# 设置允许使用root用户访问数据库的主机名称,%表示能使用所有的主机使用root用户访问
update user set host = '%' where user = 'root';
# 设置root用户密码,mysql_native_password表示密码认证的插件
alter user 'root'@'%' identified with mysql_native_password by '123456';
# 立即生效
FLUSH PRIVILEGES;
拉取镜像(这个是经过测试,一定能用的)
docker run -p 3306:3306 --privileged=true \
-v /home/docker/mysql/conf:/etc/mysql/conf.d \
-v /home/docker/mysql/data:/var/lib/mysql \
-v /home/docker/mysql/log:/var/log/mysql \
-v /home/docker/mysql/mysql-files:/var/lib/mysql-files \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=llp2333 \
-d \
--name mysql mysql:8.0.31
在容器内登录需要-h指定地址
mysql -h 127.0.0.1 -u root -p
然后再输入密码

Redis安装
命令
docker run -p 6379:6379 --privileged=true \
-v /home/docker/redis/redis.conf:/etc/redis/redis.conf \
-v /home/docker/redis/data:/data \
--name redis \
-d \
redis:7.0 redis-server /etc/redis/redis.conf
配置文件地址
本文来自博客园,作者:视觉工作室-NASK-Arya,转载请注明原文链接:https://www.cnblogs.com/llp2333/articles/17173219.html

浙公网安备 33010602011771号