docker部署常用服务器(redis,nginx,mysql,tomcat)

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

docker部署服务器

docker部署redis

参考这篇博客写的很详细

docker部署nginx

1.搜索镜像
docker search nginx
2.拉取镜像(不写版本默认拉取最新版)
docker pull nginx
3.查看镜像是否拉取成功
docker images
4.运行测试
-d 后台运行
–name 给容器命名
-p 宿主机端口容器内部端口
docker run -d --name nginx01 -p 3344:80 nginx
5.查看正在运行的镜像
docker ps
在这里插入图片描述

6.进去到容器内
docker exec -it nginx01 /bin/bash
7.找到nginx的位置
whereis nginx
cd /etc/nginx/
编辑配置文件完成部署
8.关闭容器
docker stop 110e286b9b66
在这里插入图片描述
容器端口3344映射的是linux的80端口提供外界访问
在这里插入图片描述

docker部署mysql

1.获取mysql镜像
docker pull mysql5.7
2.运行容器,需要做数据挂载 #安装启动mysql需要配置密码的这是要注意点参考官网dockerHub写法 docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
启动我们得
-d 后台运行
-p 端口映射
-v 卷挂载
-e 环境配置
– name 容器名字
docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql03 mysql:5.7
3.启动成功之后我们在本地使用navicat来测试一下
注意3310端口要在阿里云服务器的安全组中打开否则无法连接
sqlyog-连接到服务器的3306–和容器内的3306映射
当我们在本地用SQLyog新建名称为test的数据库时候容器容器也会创建
假设我们将包含mysql的容器删除时发现我们挂载到本地的数据卷依旧没有丢失这就实现了容器数据持久化功能

docker部署tomcat

1.拉取镜像
docker pull tomcat9.0
2.以后台方式暴露端口方式启动运行
docker run -d -p 8080:8080 --name tomcat01 tomcat
3.根据容器id进入tomcat容器
docker exec -it 352e9d8159a8 /bin/bash
4.进入webapps目录
cd webapps
发现问题1、linux命令少了。 2.webapps目录为空
原因阿里云镜像的原因阿里云默认是最小的镜像所以不必要的都剔除掉
保证最小可运行的环境
解决方案
将webapps.dist下的文件都拷贝到webapps下即可
cp -r webapps.dist/* webapps

这样docker部署tomcat就可以访问了

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6