docker上安装常用软件
一、安装tomcat(两个版本选择)
1、tomcat最新版10.0
1、查找镜像 docker search tomcat
2、拉取镜像 docker pull tomcat
3、查看镜像 docker images
4、运行容器 docker run -it -p 8080:8080 tomcat
-p小写,主机端口:docker容器端口
-P大写,随机分配端口
i:交互
t:终端
d:后台
5、解决访问404问题
(1)关闭防火墙
- 查看防火墙状态:systemctl status firewalld
- 关闭防火墙:systemctl stop firewalld
- 打开防火墙:systemctl start firewalld
(2)启动容器后
-
进入交互终端:docker exec -it 容器ID /bin/bash
-
查看文件:ls -l 里面有webapps和webapps.dist两个文件夹
-
删除webapps文件夹:rm -r webapps
-
将webapps.dist 改名为webapps:mv webapps.dist webapps
2、tomcat8.0免修改版
1、docker pull billygoo/tomcat8-jdk8
2、docker run -d -p 8080:8080 --name mytomcat8 billygoo/tomcat8-jdk8
#同步容器卷命令
docker run -d -p 8080:8080 -v /lyruse/tomcat8/webapps:/usr/local/tomcat/webapps -v /lyruse/tomcat8/logs:/usr/local/tomcat/logs --name tomcat8 billygoo/tomcat8-jdk8
#应用部署
#使用 xftp 工具上传项目 到 /docker/tomcat/webapps 中 访问:http://192.168.100.101:8080/guli
二、安装mysql5.7
解决:
- 中文乱码
- 数据备份,实例删除数据还能存在
1、拉取镜像:docker pull mysql:5.7
2、运行镜像获取容器实例(开启同步数据卷):
docker run -d -p 3306:3306 --privileged=true
-v /lyruse/mysql/log:/var/log/mysql
-v /lyruse/mysql/data:/var/lib/mysql
-v /lyruse/mysql/conf:/etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
3、通过容器卷同步解决中文乱码问题
#进入配置文件
cd /lyruse/mysql/conf
#创建修改文件
vim my.cnf
#my.conf的内容
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
#查看my.cnf文件
cat my.cnf
4、重新启动MySQL容器并进入查看编码配置是否成功
#重新启动容器
docker restart mysql
#进入mysql容器实例
docker exec -it mysql /bin/bash
#打开mysql客户端
mysql -uroot -p
#查看编码
show variables like 'character%'
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.01 sec)
#查看数据库
show databases;
#创建数据库
create database db01;
#创建表
create table t1(id int,name varchar(20))
#加数据
insert into t1 values(1,'zs');
4、将容器删除,测试重新运行镜像容器卷里的内容会不会同步,达到数据备份和安全一致有效性
#删除正在运行的mysql
docker rm -f mysql
#重新启动
docker run -d -p 3306:3306 --privileged=true
-v /lyruse/mysql/log:/var/log/mysql
-v /lyruse/mysql/data:/var/lib/mysql
-v /lyruse/mysql/conf:/etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
#查看容器
docker ps
#进入容器实例
docker exec -it mysql /bin/bash
#进入终端
mysql -uroot -p
#查看之前创建的数据库是否还在
show databases;
三、安装redis
1、拉取镜像文件
docker pull redis:6.0.8
2、在宿主机创建/app/redis目录
mkdir -p /app/redis
3、将一个redis.conf文件模板拷贝进/app/redis目录下
或者新建文件复制粘贴以下默认出厂的原始redis.conf
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FGcmUcoZ-1647488914670)(img/QQ截图20220123193917.png)]
4、运行容器
docker run -p 6379:6379 --name myredis --privileged=true -v /app/redis/redis.conf:/etc/redis/redis.conf -v /app/redis/data:/data -d redis:6.0.8 redis-server /etc/redis/redis.conf
5、测试连接
#进入容器
docker exec -it myredis /bin/bash
#连接终端
redis-cli
#测试设值取值
set k1 v1
get k1
6、测试是否使用了宿主机配置文件
修改/app/redis/redis.conf
vim redis.conf
#修改数据库个数
datbases 14
7、重新容器进入测试
#重启容器
docker restart myredis
#进入容器
docker exec -it myredis /bin/bash
#连接终端
redis-cli
#测试数据库
select 14
创建Redis容器并设置密码
docker run --name redis -p 6380:6379 redis-test --requirepass 123456 #前边是宿主机端口 后面是docker使用的端口
为现有的redis创建密码或修改密码的方法:
1.进入redis的容器 docker exec -it 容器ID bash
2.进入redis目录 cd /usr/local/bin
3.运行命令进入交互界面:redis-cli
4.查看现有的redis密码:config get requirepass
5.设置redis密码config set requirepass ****(****为你要设置的密码)
6.若出现(error) NOAUTH Authentication required.错误,则使用 auth 密码 来认证密码