• docker-compose + spring boot + mysql + redis + nginx 发布web应用: part 3


    经过前两篇文章,

    docker-compose + spring boot + mysql + redis + nginx 发布web应用: part 1

    docker-compose + spring boot + mysql + redis + nginx 发布web应用: part 2

    已经可以使用docker-compose发布小型的应用了。其实在开发环境中,我觉得还是挺方便的吧。(个人认为哈)

    这里再扯点别的。

    1. 个人以为,jenkins是个好东西,其实用jenkins, 前面 part 1, part 2 还可以更简单。 不过这里就不研究了。

    2.  如果没有配置docker的阿里镜像加速,挂掉是必须的哈。 其实配置阿里的docker加速器,也不太难:

         就注册个阿里的开发者帐号就行。 然后就会有你自己的加速配置。(自行X度吧)

         如果想重新开始, 就先

            # docker-compose down

         如果实在搞不明白,就用docker stop,  docker rm 等命令先停掉容器,再一个个删吧。

    3.  查看 docker-compose.yml里的 db_data 映射到哪里

        # docker volume ls

       

       # docker volume inspect compose-demo_db_data

      

       图中红框是实际db_data的位置。

       因为这里实际保存mysql的数据,即使删除mysql的容器(docker-compose down,  或 docker rm xxx),下次再建立容器时,

       数据还在,root密码不会变。

       所以,如果docker-compose里密码改变的话,就要删除db_data这个volume,让docker-compose重建volume, 再重新初始化数据库。

       (当然进入 docker容器里改root密码也行,不过这要用mysql客户端,相对麻烦,如果你mysql用得666, 就没什么好说了。那就改吧。)

       #  docker volume rm compose-demo_db_data     

    至此, <<docker-compose + spring boot + mysql + redis + nginx 发布web应用>>  结束。

     --------------------------------------------------------------------------------------------------------------------

      更新一波:

       docker-compose.yml    mysql部分: 

    mysql:
        image: mysql:5.7
        volumes:
          - db_data:/var/lib/mysql
        restart: always
        volumes:                                  使用volumes 将 ./ 映射到 mysql 容器的 /docker-entrypoint-initdb.d/ 目录
          - ./:/docker-entrypoint-initdb.d/       这样,./ 里的sql就会被自动执行了。
        environment:
          MYSQL_ROOT_HOST: '%'
          MYSQL_ROOT_PASSWORD: root123
          MYSQL_DATABASE: compose
          MYSQL_USER: boot
          MYSQL_PASSWORD: boot123

    使用volumes 映射后,第二部分中的mysql初始化就可以省略了。

    但这样会每次docker-compose up -d 都会执行,所以如果不想mysql里的数据丢失的话 (因为sql里有删库的操作,删库但不跑路,哈哈)

    执行初始化后,就要把volumes这两行去掉。免得以后再次执行sql文件。

         

           

  • 相关阅读:
    组播IP地址
    改变未来的10大科技
    知行合一之健康
    2017第47周五
    2017第47周四感恩节
    spring boot测试
    2017第47周二
    音频格式opus
    周日反思
    四种人工智能技术对五个行业的影响
  • 原文地址:https://www.cnblogs.com/bear129/p/12527514.html
Copyright © 2020-2023  润新知