Docker部署和项目打包发布

    技术2025-01-21  50

    Docker部署和项目打包发布

    Docker配置

    镜像配置: 查看本机镜像:docker images 删除:docker rmi 镜像名称:版本号 下载:docker pull xxx:版本号

    容器配置

    启动:docker start 容器名称 停止:docket stop 容器名称 查看全部:docker ps -a 删除:docker rm

    Docker下载镜像

    校验版本 命令:uname -r 下载并安装 命令:yum install docker-engine 输入2次y 注意:如果下载超时,可以尝试更新yum 命令:yum -y update 校验安装成功 命令:docker version 可以看到Client docker -v 启动Docker 命令:systemctl start docker 重启:systemctl restart docker

    Docker安装tomcat

    下载镜像: docker pull tomcat:版本号 创建Tomcat容器: docker create --name tomcat8081 -p 8081:8080 tomcat:版本号 启动Tomcat容器: docker start tomcat8081 --name tomcat8081 创建容器名 -p 8081:8080 端口号8081为外部访问端口号,8080为内部对应tomcat容器的端口号

    Docker安装mysql

    docker pull mysql:版本号 创建并启动 mysql容器: docker run -d --name mysql3307 -p 3307:3306 -e MYSQL_ROOT_PASSWORD='java' mysql:5.7 MYSQL_ROOT_PASSWORD='java' 设置mysql密码 访问测试 docker exec -it mysql3307 bash 连接mysql数据库 mysql -u root -p 输入数据库密码

    Docker安装redis

    下载软件 docker pull redis 创建宿主文件夹 mkdir -p /docker/redis/redis6380/data 在redis6380下创建redis.conf文件夹 Mkdir redis.conf 创建并运行Redis容器 docker run -d -p 6380:6379 --name redis6380 -v /docker/redis/redis6380/redis.conf:/etc/redis/redis.conf -v /docker/redis/redis6380/data:/etc/redis/data redis redis-server /etc/redis/redis.conf 测试使用,默认的连接工具连接Redis docker exec -it redis6380 bash redis-cli auth 密码

    Docker安装RabbitMQ

    docker run -d --name rabbitmq -p 15671:15671 -p 15672:15672 -p 5671:5671 -p 5672:5672 rabbitmq:management 如果镜像不存在会自动下载 访问测试: 服务器ip:15672 默认的账号密码:账号:guest 密码:gues

    Docker安装ElasticSearch

    1.下载镜像 docker pull elasticsearch:7.6.1 2.安装运行 docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" 镜像ID 3.访问测试 http://阿里云服务器ip:9200/ ps:9200 是服务端的地址,9300为客户端地址

    Tomcat访问失败解决方案

    先查看防火墙状况 service firewalld status 如果防火墙没关闭,先关闭防火墙 service firewalld stop 确定防火墙关闭但访问Tomcat还是失败之后,使用如下命名进入Tomcat的目录 docker exec -it c110e520cdd1(启动的Tomcat容器的容器id) /bin/bash 例:docker exec -it 1c84be52db15 /bin/bash 使用命令查看当前文件夹内的所有文件 ls -l 进入webapps文件夹下 cd webapps 查看webapps下的文件 ls -l 显示total 0,问题就出在这里,webapps文件夹下没有东西 cd .. 删除webapps文件夹(-r是级联删除,-f是强制删除,不然文件夹是删不掉的) rm -rf webapps 将webapps.dist文件夹下的内容复制到给webapps文件夹 rm webapps.dist webapps 或 mv webapps.dist webapps exit退出到docker

    项目发布

    将打包好的war包,先放到服务器根目录下, docker cp ***.war(打包好的项目名) 1c84be52db15(docker中tomcat服务器的id):/usr/local/tomcat/webapps 例:docker cp ***.war 1c84be22db38:/usr/local/tomcat/webapps 文件导入成功之后,服务器自动解压 在浏览器输入http://服务器公网ip:端口号/项目名称/xxx.html

    删除项目

    进入到tomcat容器中 docker exec -it c110e520cdd1(启动的Tomcat容器的容器id) /bin/bash 进入到webapps目录下 cd webapps 查看webapps下的所有文件,找到想要删除的文件 ls -l rm -rf xxx.war 和rm -rf xxx 再ls -l 查看是否还存在,
    Processed: 0.011, SQL: 9