容器中项目的附件映射到宿主机始终没有成功,等以后成功了再总结步骤,下面把映射宿主机文件夹的相关步骤总结一下吧。

    1、安装docker和docker-compose,见之前的博客。

    3、更新到最新版的jpress,找到docker目录下的Dockerfile文件和docker-compose.yml文件,复制出来。

    3、打包自己的jpress的war包。

    4、修改Dockerfile的内容,复制到宿主机中。

COPY starter-tomcat-1.0.war /usr/local/tomcat/webapps/ROOT.war
修改为
COPY 自己war包名.war /usr/local/tomcat/webapps/ROOT.war

    5、把war包和Dockerfile放在同一目录,cd到该目录中,执行下面的命令,生成自己的镜像。

docker build -t  aaa/jpress:0.0.1 .

    6、修改docker-compose.yml的内容,复制到宿主机中,4、5、6步骤的文件需要放在同一目录下,然后运行docker-compose up -d。

version: '3.1'

services:

  db:
    image: mysql:5.6
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
       MYSQL_ROOT_PASSWORD: jpress
       MYSQL_DATABASE: jpress
       MYSQL_USER: jpress
       MYSQL_PASSWORD: jpress
#映射mysql文件到宿主机
    volumes:
        - /opt/dockerdata/mysqldata:/var/lib/mysql

  jpress:
    depends_on:
      - db
    links:
      - db
    #image: fuhai/jpress:latest
#修改为自己的镜像
    image: aaa/jpress:0.0.1
    ports:
      - "8080:8080"
    restart: always
    environment:
       TZ: Asia/Shanghai
       JPRESS_DB_HOST: db
       JPRESS_DB_PORT: 3306
       JPRESS_DB_NAME: jpress
       JPRESS_DB_USER: jpress
       JPRESS_DB_PASSWORD: jpress
#防止tomcat启动达到几百秒
       JAVA_OPTS: -Djava.security.egd=file:/dev/./urandom
    volumes:
#war包解压后的ROOT文件夹会出现在宿主机的/opt/dockerdata/webapps目录下,这样容器删除后,之前的修改继续存在
        - /opt/dockerdata/webapps:/usr/local/tomcat/webapps/
#把tomcat的日志生成到宿主机
        - /opt/dockerdata/logs:/usr/local/tomcat/logs


    7、访问服务器的8080端口,显示如下页面,说明安装成功。

8、点击下一步,显示如下页面。相关信息可从docker-compose.yml中获取,主机一栏中填上db。

9、点击下一步,如果显示如下页面,可能是你在上一步输入有误,或者数据库中已经有相关数据了。现在的解决办法是

docker-compose stop

docker-compose rm

然后删除宿主机中映射出的所有mysql文件,重新从步骤6往下走。

10、如果出现如下页面,说明初始化即将成功,填写信息并保存好管理员的用户名和密码,点击完成就初始化成功了。

祝你一切顺利,如有问题欢迎讨论,我会对内容进行相应更新。

 

最后修改于 2018-11-30 00:27:00
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付
上一篇