Docker常用软件安装
- 1、安装软件的总体步骤
- 2、安装Tomcat
- 2.1、从[docker hub](https://hub.docker.com/)上面查找tomcat
- 2.2、将tomcat镜像拉取下来
- 2.3、查看是否拉取到了tomcat镜像
- 2.4、使用tomcat镜像创建容器实例(也叫运行实例)
- 2.5、访问tomcat首页
- 2.5.1、出现报错
- 2.5.2、原因
- 2.5.3、解决
- 2.5.4、修改完之后再次访问tomcat
- 2.6、下载免修改版tomcat
- 2.6.1、首先删除之前的tomcat10
- 2.6.2、下载tomcat8
- 3、安装mysql
- 3.1、docker hub上面查找mysql
- 3.2、拉取mysql镜像到本地
- 3.3、使用mysql5.7镜像创建容器(也叫运行镜像)
- 3.4、测试用win10物理机上的navicat连接容器内的mysql
- 3.5、问题
- 3.5.1、无法完数据库中插入中文
- 3.5.2、docker中mysql数据丢失
- 3.6、解决问题
- 3.6.1、首先删除之前创建的mysql
- 3.6.2、重新安装mysql
- 3.6.3、总结
- 4、docker安装redis
- 4.1、拉取redis镜像
- 4.2、docker入门级别的redis命令
- 4.2.1、启动redis
- 4.2.2、进入redis实例
- 4.2.3、删掉刚刚入门级别启动的redis
- 4.3、建议版redis安装
- 4.3.1、首先在宿主机上新建文件夹,用于存放配置文件
- 4.3.2、拷贝一个外部以前的redis配置文件到上述文件夹下
- 4.3.3、修改宿主主机/temp/redis下的redis.conf配置文件
- 4.3.4、使用redis镜像创建容器(也叫运行镜像)
- 4.3.5、连接刚刚启动的redis
- 4.3.6、二次连接redis
1、安装软件的总体步骤
- 搜索镜像
- 拉取镜像
- 查看镜像
- 启动容器
- 停止容器
- 移除容器
2、安装Tomcat
2.1、从docker hub上面查找tomcat
2.2、将tomcat镜像拉取下来
docker pull tomcat
2.3、查看是否拉取到了tomcat镜像
docker images tomcat
2.4、使用tomcat镜像创建容器实例(也叫运行实例)
docker run -d -p 8080:8080 tomcat
如果使用-P,会随机分配端口
2.5、访问tomcat首页
2.5.1、出现报错
2.5.2、原因
- 可能是没有端口映射或没有关闭防火墙
- 把webapps.dist目录换成webapps
2.5.3、解决
#首先删除/usr/local/tomcat目录下的webapps
rm -f webapps
#将usr/local/tomcat下的webapps.dist 重新命名为webapps
mv webapps.dist webapps
2.5.4、修改完之后再次访问tomcat
2.6、下载免修改版tomcat
由于docker中下载最新版本tomcat(10.0.14),webapps目录下没有文件夹,需要把webapps.dist文件夹下的目录复制到webapps下,比较麻烦,所以我们可以下载tomcat8,这样就不用再做上述tomcat10的复制操作。
2.6.1、首先删除之前的tomcat10
docker ps
docker stop t1
docker rm -f t1
2.6.2、下载tomcat8
docker run -d -p 8080:8080 --name mytomcat8 billygoo/tomcat8-jdk8
3、安装mysql
3.1、docker hub上面查找mysql
3.2、拉取mysql镜像到本地
docker pull mysql:5.7
3.3、使用mysql5.7镜像创建容器(也叫运行镜像)
# 启动mysql
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
# 查看mysql容器是否启动
docker ps
#运行mysql
docker exec -it mysql容器ID /bin/bash
# 进入mysql
mysql -uroot -p
3.4、测试用win10物理机上的navicat连接容器内的mysql
3.5、问题
3.5.1、无法完数据库中插入中文
- 查看docker中mysql的默认字符编码
show variables like 'character%';
3.5.2、docker中mysql数据丢失
3.6、解决问题
3.6.1、首先删除之前创建的mysql
docker rm -f mysql容器ID
3.6.2、重新安装mysql
# 重现安装mysql的命令
docker run -d -p 3306:3306 --privileged=true -v /temp/mysql/log:/var/log/mysql -v /temp/mysql/data:/var/lib/mysql -v /temp/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root --name mysql mysql:5.7
#进入到宿主主机对应文件夹下
cd /temp/mysql/conf
#创建配置文件
vim my.cnf
#查看配置文件内容
cat my.cnf
#重新启动mysql
docker restart mysql
#启动并登录mysql
docker exec -it mysql /bin/bash
mysql -uroot -p
#插看容器的mysql字符集(已修改为utf8)
show variables like 'character%';
- mysql配置文件内容
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
3.6.3、总结
4、docker安装redis
- 简易版安装参考4.1、4.2
- 建议版安装参考4.1、4.3及往后
4.1、拉取redis镜像
docker pull redis:6.0.8
4.2、docker入门级别的redis命令
4.2.1、启动redis
docker run -d -p 6379:6379 redis:6.0.8
由于我的虚拟机中redis已经启动,占用了6379端口号。所以此处docker中我映射6380端口。
4.2.2、进入redis实例
docker exec-it 容器ID /bin/bash
尝试连接redis:
4.2.3、删掉刚刚入门级别启动的redis
#首先查看启动的docker容器
docker ps
#删除指定的容器
docker rm -f 容器ID
#再次查看,发下没有正在运行的容器
docker ps
4.3、建议版redis安装
4.3.1、首先在宿主机上新建文件夹,用于存放配置文件
mkdir -p /temp/redis
4.3.2、拷贝一个外部以前的redis配置文件到上述文件夹下
# 首先查看本虚拟机是否运行有redis,如果有会显示redis安装位置
ps aux|grep redis
4.3.3、修改宿主主机/temp/redis下的redis.conf配置文件
- 修改redis密码(requirepass)
- 允许redis外部连接(bind)
- 启动的配置(daemonize no)
- redis数据持久化(appendonly)
4.3.4、使用redis镜像创建容器(也叫运行镜像)
docker run -p 6380:6380 --name myredis1 --privileged=true -v /temp/redis/redis.conf:/etc/redis/redis.conf -v /temp/redis/data:/data -d redis redis-server /etc/redis/redis.conf
4.3.5、连接刚刚启动的redis
docker exec -it myredis1 /bin/bash
4.3.6、二次连接redis