- 1. Docker 安装tomcat
- 1.1 docker hub上面查找tomcat镜像
- 1.2 拉取tomcat
- 1.3 启动tomcat
- 1.4 访问tomcat
- 1.4.1. 查看防火墙状态
- 1.4.2. 开启防火墙
- 1.4.3. 查看端口信息
- 1.4.4. 开启端口和重启防火墙
- 1.4.5. 重启docker
- 1.4.6. 重启tomcat
- 1.4.7. 阿里云服务器需要开放8080端口
- 1.4.8. 访问成功
- 2. Docker 安装mysql
- 2.1 Docker hub上面查找mysql镜像
- 2.2 从docker hub上(阿里云加速器)拉取mysql镜像到本地标签为5.7
- 2.3 使用mysql5.7镜像创建容器(也叫运行镜像)
- 2.3.1 根据官网命令安装
- 2.3.2 进入容器
- 2.3.3 连接mysql
- 2.3.4 创建数据库
- 2.3.5 创建数据表
- 2.3.6 插入数据
- 2.3.7 查看数据
- 2.3.8 插入中文,报错
- 2.3.9 查看字符集
- 2.3.10 问题思考
- 3. Docker 安装mysql(实战版)
- 3.1 新建mysql容器实例
- 3.2 新建my.cnf
- 3.3 写入内容
- 3.4 查看文件
- 3.5 重新启动mysql容器实例再重新进入并查看字符编码
- 3.6 结论
- 4. 安装redis
- 4.1 从docker hub上(阿里云加速器)拉取redis镜像到本地标签为6.0.8
- 4.2 入门命令
- 4.3 在CentOS宿主机下新建目录/software/redis
- 4.4 将一个redis.conf文件模板拷贝进/software/redis目录下
- 4.5 开启redis验证 可选
- 4.6 允许redis外地连接 必须
- 4.7 开启redis数据持久化
- 4.8 使用redis6.0.8镜像创建容器(也叫运行镜像)
- 4.9 测试redis-cli连接上来
- 5. 安装Ngnix
docker search tomcat1.2 拉取tomcat
docker pull tomcat:8.0.531.3 启动tomcat
docker run -it -p 8080:8080 tomcat:8.0.53 docker run -it -p 8080:8080 --name tomcat-8 tomcat:8.0.531.4 访问tomcat
出现了无法访问情况。
1.4.1. 查看防火墙状态systemctl status firewalld1.4.2. 开启防火墙
systemctl start firewalld1.4.3. 查看端口信息
firewall-cmd --list-ports # 只看端口信息1.4.4. 开启端口和重启防火墙
开端口命令:firewall-cmd --zone=public --add-port=8080/tcp --permanent 重启防火墙:systemctl restart firewalld.service1.4.5. 重启docker
systemctl restart docker1.4.6. 重启tomcat
docker restart 73f1990b9b401.4.7. 阿里云服务器需要开放8080端口 1.4.8. 访问成功 2. Docker 安装mysql 2.1 Docker hub上面查找mysql镜像
docker search mysql2.2 从docker hub上(阿里云加速器)拉取mysql镜像到本地标签为5.7
docker pull mysql:5.72.3 使用mysql5.7镜像创建容器(也叫运行镜像) 2.3.1 根据官网命令安装
https://hub.docker.com/_/mysql
官网命令: docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
出现错误
docker: Error response from daemon: driver failed programming external connectivity on endpoint dazzling_goldstine (3c71e2b0978077270348fcaf218f5c6f831316ea04a50046eabce8238e4d723d): Error starting userland proxy: listen tcp4 0.0.0.0:3306: bind: address already in use.
问题原因,宿主机阿里云服务器上也启动了mysql
所以docker内的mysql换一个端口3336
docker run -p 3306:3336 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
启动成功
2.3.2 进入容器docker exec -it 55a5e792eeb3 /bin/bash2.3.3 连接mysql
mysql -uroot -p2.3.4 创建数据库
create database db01;2.3.5 创建数据表
use db01; create table t1(id int,name varchar(100));2.3.6 插入数据
insert into t1 values(1, 'chent');2.3.7 查看数据
select * from t1;2.3.8 插入中文,报错 2.3.9 查看字符集
SHOW VARIABLES LIKE 'character%'2.3.10 问题思考
- 删除容器后,里面的mysql数据如何办?
- 容器实例一删除,你还有什么? 删容器到跑路。。。。。?
docker run -d -p 3336:3306 --privileged=true -v /software/mysql/log:/var/log/mysql -v /software/mysql/data:/var/lib/mysql -v /software/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.73.2 新建my.cnf
vim my.cnf3.3 写入内容
[client] default_character_set=utf8 [mysqld] collation_server = utf8_general_ci character_set_server = utf83.4 查看文件
cat my.cnf3.5 重新启动mysql容器实例再重新进入并查看字符编码
字符集已经修改
之前的DB 无效
修改字符集操作+重启mysql容器实例
之后的DB 有效,需要新建
结论:docker安装完MySQL并run出容器后,建议请先修改完字符集编码后再新建mysql库-表-插数据
4. 安装redis 4.1 从docker hub上(阿里云加速器)拉取redis镜像到本地标签为6.0.8docker pull redis:6.0.84.2 入门命令
docker run -d -p 6379:6379 --name redis6 redis:6.0.8
命令提醒:容器卷记得加入–privileged=true
4.3 在CentOS宿主机下新建目录/software/redis[root@iZbp10sz66ubwpbh2bw9jbZ ~]# cd /software [root@iZbp10sz66ubwpbh2bw9jbZ software]# mkdir redis [root@iZbp10sz66ubwpbh2bw9jbZ software]# ls mysql redis [root@iZbp10sz66ubwpbh2bw9jbZ software]# cd redis [root@iZbp10sz66ubwpbh2bw9jbZ redis]#4.4 将一个redis.conf文件模板拷贝进/software/redis目录下
/software/redis目录下修改redis.conf文件
4.5 开启redis验证 可选requirepass 1234.6 允许redis外地连接 必须
注释掉 # bind 127.0.0.1
daemonize no
将daemonize yes注释起来或者 daemonize no设置,因为该配置和docker run中-d参数冲突,会导致容器一直启动失败4.7 开启redis数据持久化
appendonly yes 可选4.8 使用redis6.0.8镜像创建容器(也叫运行镜像)
docker run -p 6379:6379 --name myredis6 --privileged=true -v /software/redis/redis.conf:/etc/redis/redis.conf -v /software/redis/data:/data -d redis:6.0.8 redis-server /etc/redis/redis.conf
很遗憾,没起来
用docker logs 查看日志
意思是配置文件,第七行,有个空格
删除空格,重新启动
docker exec -it myredis6 redis-cli5. 安装Ngnix
太简单了,略~~~



