背景:MySQL据库运行在宿主机上(Linux)

需求:Redis、服务、页面分别运行在独立的docker中,并处于同一网络,容器内部重要目录要挂载在物理目录,保证数据安全

方法:

   一、设置网络环境

 

     1、初始化Docker Swarm

        docker swarm init 

 

     2、创建网段(mynet)

       docker network create -d overlay mynet –attachable 

 

     3、查看列表,确认创建结果

       docker network list 

 

 

 

 

   二、创建Redis运行容器

 

     1、拉取Redis镜像

       docker pull redis

     2、创建Redis运行环境容器(myredis),并建立目录映射关系,设置访问密码

       docker run -dit –network=mynet –name=myredis -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime redis –requirepass “66666666” 

 

     3、运行容器

       docker start myredis 

 

 

   三、创建服务运行容器(端口不暴露,接口安全)

 

     1、拉取JDK镜像

       docker pull jdk 

 

     2、创建服务运行环境容器,并建立目录映射关系

       docker run -dit –network=mynet –name=myserver -v /data6/myproject/server:/server -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -v /data6/myproject/files:/files jdk 

     3、运行容器

       docker start myserver

 

 

   四、创建页面运行容器

 

     1、拉取Nginx镜像

       docker pull nginx 

 

     2、创建服务运行环境容器,并建立目录映射关系

       docker run -dit –network=mynet –name=myweb -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -p 8080:80 -v /data6/myproject/web/:/web nginx 

 

     3、运行容器

       docker start myweb

 

 

 

 

     4、替代配置文件

       用自己的default.conf替换【/etc/nginx/conf.d/】下的default.conf 

     5、重启容器

       docker restart myweb 

      

    

版权声明:本文为java-bhp原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/java-bhp/p/11983091.html