docker环境部署

1. 环境介绍

系统环境:centOS8

部署工具:docker

相关环境镜像:redis:latest

​ mysql:8.0+

​ tomcat:8.0+

2. docker安装

centos7只需执行:

sudo yum -y install docker

centos8需要安装docker-ce

sudo yum install docker-ce docker-ce-cli containerd.io
sudo yum install -y yum-utils  device-mapper-persistent-data  lvm2
sudo yum-config-manager  --add-repo   https://download.docker.com/linux/centos/docker-ce.repo

安装完成后使用 来查看docker版本信息,验证docker是否安装成功

sudo docker -- version

设置开启自启动

sudo systemctl enable docker

3 . docker 安装启动mysql

#默认拉取最新的mysql版本
sudo docker pull mysql

#使用docker images 来查看安装的额镜像
sudo docker images

在这里插入图片描述

docker启动mysql容器 MYSQL_ROOT_PASSWORD为root用户密码 容器名为pile-mysql


sudo docker run -itd --name demo-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

使用docker ps 命令查看正在运行的容器

sudo docker ps

在这里插入图片描述

若刚刚启动的容器没有显示,则表示启动未成功,使用docker ps -a来查看所有容器
容器启动失败的原因

  • …confilct… --name后的 mysq-test为容器名,容器名相同会导致启动失败

  • 3306端口被占用也会启动失败

  • docker invalid hostPort报错,一般是复制命令的错误,手敲一遍命令一般可以解决

想要删除容器,首先停止目标容器,使用docker stop [容器id或容器名] (id无需完整输入前三四位即可识别)

容器名称重复想要删除容器使用 docker rm [容器名或容器id] 例如:docker rm mysql-test 或 docker rm d49

删除镜像使用命令 docker rmi [镜像名或镜像id]

开放3306端口

sudo firewall-cmd --query-port=3306/tcp
sudo firewall-cmd --reload

使用远程数据库工具连接测试

4. docker 安装启动redis

docker 安装镜像

sudo docker pull redis

使用docker images查看镜像

在这里插入图片描述

docker配置redis 配置文件

  1. 从redis官网下载conf redis.conf

  2. 创建文件夹 mkdir /usr/local/docker
    将第一步下载的conf文件上传至改文件夹下

    vi /usr/local/docker/redis.conf

  3. 修改启动默认配置

    bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问

    protected-mode no #默认yes,开启保护模式,限制为本地访问

    daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败

    databases 16 #数据库个数(可选),我修改了这个只是查看是否生效。。

    dir ./ #输入本地redis数据库存放文件夹(可选)

    appendonly yes #redis持久化(可选)

  4. docker 启动镜像 requirepass为redis密码

sudo docker run --name redis-demo  -p 6379:6379 -d -v /usr/local/docker/redis.conf:/etc/redis/reids.conf
     -v /usr/local/redis/data:/data --restart=always redis-pile:latest redis-server --appendonly yes 
         --requirepass "123456"

开放6379端口

sudo firewall-cmd --query-port=6739/tcp
sudo firewall-cmd --reload

使用redis远程工具连接测试

5. docker 安装启动tomcat

拉取tomcat8 :jdk8版本

sudo docker pull tomcat8
 
sudo docker images

新建文件夹webapps

sudo touch /usr/local/docker/webapps

启动容器,将容器命名为demo-tomcat

sudo docker run -d -p 18080:8080 -v /usr/local/docker/webapps/:/usr/local/tomcat8/webapps/ --name demo-tomcat registry.cn-shanghai.aliyuncs.com/qianziqi/qzq:qzq-tomcat8.5 /root/run.sh

使用docker ps 查看刚刚启动的容器信息

开放18080端口

firewall-cmd --query-port=18080/tcp
firewall-cmd --reload

浏览器访问 ip:18080测试tomcat是否启动成功

6. 项目部署

准备号war包放入/usr/local/docker/webapps文件夹下

重启tomcat容器

docker restart demo-tomcat

–reload


浏览器访问 ip:18080测试tomcat是否启动成功

[外链图片转存中...(img-AOnjuF9J-1644462070915)]

## 6.  项目部署

准备号war包放入/usr/local/docker/webapps文件夹下

重启tomcat容器

docker restart demo-tomcat


访问index页面测试
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐