docker部署服务器
- docker部署redis
- docker部署nginx
- docker部署mysql
- docker部署tomcat
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就可以访问了