• docker-compose简单实例


    1.  使用docker-compose运行tomcat容器:

            1>.  创建要运行tomcat容器的yml文件(tomcat.yml):

    1. [root@centos7 ~]# mkdir /dockercompose
    2. [root@centos7 ~]# cd /dockercompose/
    3. [root@centos7 dockercompose]# vim tomcat.yml
    4. version: '3.1' ##指定该docker-compose的版本
    5. services:
    6. tomcat: ##指定服务名称为tomcat
    7. restart: always ##设置重启策略为always
    8. image: tomcat ##指定使用的镜像名
    9. container_name: tomcat ##指定容器名
    10. ports: ##指定映射的端口(宿主机端口:容器内部端口)
    11. - 8080:8080
    12. volumes: ##指定容器中指定目录的数据持久化挂载到宿主机的目录
    13. - /data/tomcat/webapps:/usr/local/tomcat/webapps
    14. environment: ##设置环境变量
    15. TZ: Asia/Shanghai

            2>.  运行tomcat.yml文件:

    1. ##将tomcat.yml文件放在前台运行
    2. [root@centos7 dockercompose]# docker-compose -f tomcat.yml up
    3. ##将tomcat.yml文件放在后台运行
    4. [root@centos7 dockercompose]# docker-compose -f tomcat.yml up -d
    5. 选项: -d: 表示在后台运行docker compose文件
    6. -f: 若文件名不是" docker-compose.yml ",则要通过-f选项指定文件名

            3>.  因为这里做了宿主机和容器目录的映射,因此需要将容器中的/usr/local/tomcat/webapps.dist目录下的所有文件复制到容器中的/usr/local/tomcat/webapps目录下,才可以访问到tomcat主页。

    1. [root@centos7 dockercompose]# docker exec -it tomcat bash ##进入名为tomcat的容器
    2. root@efe0da4cc822:/usr/local/tomcat# cp -r webapps.dist/* webapps/ ##复制数据
    3. root@efe0da4cc822:/usr/local/tomcat# ls webapps
    4. ROOT docs examples host-manager manager
    5. root@efe0da4cc822:/usr/local/tomcat# exit ##退出容器

            4>.  访问宿主机的8080端口进行检测:

    2.   使用docker-compose运行mysql,adminer,jpress容器:

            1>.  创建要运行mysql,adminer,jpress容器的yml文件(mysql.yml):

    1. [root@centos7 dockercompose]# vim mysql.yml
    2. version: '3.1' ##指定docker-compose文件的版本
    3. services:
    4. mysql: ##指定服务名为mysql
    5. restart: always ##设置重启策略为always
    6. image: mysql:5.7 ##指定要运行的镜像为mysql:5.7
    7. container_name: mysql ##指定容器名
    8. ports: ##指定映射的端口(宿主机端口:容器内部端口)
    9. - 3306:3306
    10. environment: ##设置环境便变量
    11. TZ: Asia/Shanghai ##设置时区
    12. MYSQL_ROOT_PASSWORD: 123456 ##设置数据库登录密码
    13. command: ##设置容器运行时执行的命令
    14. --character-set-server=utf8mb4
    15. --collation-server=utf8mb4_general_ci
    16. --explicit_defaults_for_timestamp=true
    17. --lower_case_table_names=1
    18. --max_allowed_packet=128M
    19. --sql_mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
    20. volumes: ##指定容器中指定目录的数据持久化挂载到宿主机的数据卷
    21. - mysql-data:/var/lib/mysql
    22. adminer: ##指定服务名为adminer
    23. image: adminer ##指定要运行的镜像为adminer adminer是一个mysql数据库的web工具
    24. container_name: adminer ##指定容器名
    25. restart: always ##设置重启策略为always
    26. ports: ##指定映射的端口(宿主机端口:容器内部端口)
    27. - 8081:8080
    28. depends_on: ##设置容器的依赖关系,该adminer容器关联mysql容器
    29. - mysql
    30. jpress: ##指定服务名为jpress
    31. image: jpressio/jpress ##指定要运行的镜像为jpressio/jpress
    32. container_name: jpress ##指定容器名
    33. ports: ##指定映射的端口(宿主机端口:容器内部端口)
    34. - 8082:8080
    35. restart: always ##设置重启策略为always
    36. links: ##设置容器之间的链接,将mysql容器链接到jpress容器
    37. - mysql
    38. volumes: ##指定宿主机上的数据卷
    39. mysql-data:

            2>.  运行mysql.yml文件:若宿主机中没有文件中用到的镜像,则会先拉取镜像后再运行

             3>.  访问宿主机8081端口,检测adminer容器的web的页面:

             4>.  输入登录信息进行登录:

            5>.  创建数据库jpress:

            6>.  创建用户jpress,密码随便:

             7>.  访问宿主机的8082端口,检测jpress容器并搭建jpress论坛:

     

     

     

     

     

     

  • 相关阅读:
    (pytorch进阶之路)IDDPM之diffusion实现
    node中文件的上传
    视频接入协议之MIPI
    有哪些做流程图的软件?分享一些制作方法和注意事项
    【Python&GIS】矢量数据投影转换(坐标转换)
    riscv fpga
    在 linux 虚拟机上安装配置 hive
    【RuoYi-Vue-Plus】学习笔记 38 - OSS模块(八)V4.2.0+ 版本OSS文件上传流程
    分类预测 | MATLAB实现CNN卷积神经网络数据分类预测
    封装 leaflet 绘制点和区域
  • 原文地址:https://blog.csdn.net/NancyLCL/article/details/126569091