Docker Compose(二)

简介: Docker Compose

8.2 编写配置文件docker-compose.yml

vim /opt/compose_nginx/docker-compose.yml
version: '3'
services:
  nginx:
    container_name: web1
    hostname: nginx
    build:
      context: ./nginx
      dockerfile: Dockerfile
    ports:
      - 1216:80
      - 1217:443
    networks:
      lnmp:
        ipv4_address: 172.18.0.10
    volumes:
      - ./wwwroot:/usr/local/nginx/html
networks:
  lnmp:
   driver: bridge
   ipam:
     config:
     - subnet: 172.18.0.0/16

0f26ea9624274988bf8878ccdf1789bd.png


  • 参数说明:
version: '3'            #docker-compose版本为3,版本2只支持单机编排
services:             #使用services定义服务
  nginx:              #容器名为nginx
    container_name: web1      #使用dockerfile来构建镜像
    hostname: nginx-test      #主机名为nginx-test
    build:
      context: ./nginx        #指定Dockerfile文件所在位置
      dockerfile: Dockerfile    #指定文件名
    ports:              #映射端口
      - 1216:80
      - 1217:443
    networks:
      lnmp:
        ipv4_address: 172.18.0.10 #加入网络设置此容器ip
    volumes:
      - ./wwwroot:/usr/local/nginx/html     #设置数据卷挂载
networks:             #设置网络为自定义网络
  lnmp:
    driver: bridge          #网络模式
    ipam:
      config:
        - subnet: 172.18.0.0/16 #设置自定义网络的网段,设置完后保存退出

8.3 生成镜像容器

cd /opt/compose_nginx/
docker-compose -f docker-compose.yml up -d
-f, --file FILE :使用特定的 compose 模板文件,默认为 docker-compose.yml
-p, --project-name NAME :指定项目名称,默认使用目录名称
-d :在后台运行

fe3956e9d1eb4c559f36792a3f952ca3.png


8.4 验证测试

docker ps -a
CONTAINER ID   IMAGE                 COMMAND     CREATED              STATUS              PORTS                                                                                 NAMES
b205bbcc8b37   compose_nginx_nginx   "/run.sh"   About a minute ago   Up About a minute   0.0.0.0:1216->80/tcp, :::1216->80/tcp, 0.0.0.0:1217->443/tcp, :::1217->443/tcp   web1
cd /opt/compose_nginx/
docker-compose ps         #必须在docker-compose.yml所在目录执行此命令
浏览器访问:http://192.168.147.105:1216

2da57a67b8e64bcda28350e2b27577fe.png

7594e25ede384c5fa2d8dce47366912f.png


九、Docker-Compose 撰写 Tomcat


9.1 准备安装包

cd /opt
mkdir -p /opt/compose-tomcat/tomcat
拖入安装包apache-tomcat-8.5.16.tar.gz 、jdk-8u91-linux-x64.tar.gz

06ab064465d544ccaa29ee72daef5770.png


9.2 准备依赖文件

vim Dockerfile
FROM centos:7
MAINTAINER this is tomcat image <xc>
ADD jdk-8u91-linux-x64.tar.gz /usr/local/
WORKDIR /usr/local/
RUN mv jdk1.8.0_91 /usr/local/java
ENV JAVA_HOME /usr/local/java
ENV JRE_HOME ${JAVA_HOME}/jre
ENV CLASSPATH .:${JAVA_HOME}/lib:${JRE_HOME}/lib
ENV PATH $JAVA_HOME/bin:$PATH
ADD apache-tomcat-8.5.16.tar.gz /usr/local/
WORKDIR /usr/local/
RUN mv apache-tomcat-8.5.16 /usr/local/tomcat
EXPOSE 8080
#CMD ["/usr/local/tomcat/bin/catalina.sh","run"]
ENTRYPOINT ["/usr/local/tomcat/bin/catalina.sh","run"]

6dd675a93f12440ba44b0af0b5802c85.png


9.3 编写配置文件docker-compose.yml

cd ..
vim docker-compose.yml
version: '3'
#docker-compose版本
services:
#定义servers
  tomcat:
#容器名tomcat
    container_name: web2
    hostname: tomcat
#主机名tomcat
    build:
      context: ./tomcat
      dockerfile: Dockerfile
#镜像构建dockerfile文件夹位置及名称
    ports:
      - 1280:8080
#端口映射
    networks:
      lnmp:
        ipv4_address: 172.19.0.10
#tomcat ip定义
networks:
  lnmp:
    driver: bridge
    ipam:
      config:
        - subnet: 172.19.0.0/16

3f3e2d99469e4b5184bad7d25d6a2819.png


docker-compose -f docker-compose.yml up -d

a4e5a6d20334486f9b9ba40bfa64d2e3.png


9.4 验证

docker ps -a
docker-compose ps         #必须在docker-compose.yml所在目录执行此命令
真机访问http://192.168.147.105:1280

499bc1d47cb64b1a80125e1982edcc44.png

fac498a7cea3419980855f25f0b2ef22.png


目录
相关文章
|
26天前
|
人工智能 前端开发 Docker
从本地到云端:用 Docker Compose 与 Offload 构建可扩展 AI 智能体
在 AI 智能体开发中,开发者常面临本地调试与云端部署的矛盾。本文介绍如何通过 Docker Compose 与 Docker Offload 解决这一难题,实现从本地快速迭代到云端高效扩容的全流程。内容涵盖多服务协同、容器化配置、GPU 支持及实战案例,助你构建高效、一致的 AI 智能体开发环境。
215 1
从本地到云端:用 Docker Compose 与 Offload 构建可扩展 AI 智能体
|
1月前
|
运维 数据可视化 开发者
2025年 三个 Docker Compose 可视化管理器测评
本文对比了三款主流的 Docker Compose 可视化管理工具。随着 Docker 的普及,Compose 已成为多容器应用部署的标准,但 YAML 配置复杂、协作困难等问题也日益突出。三款工具各有侧重:Docker Desktop 适合个人本地开发,Portainer 适合小团队运维管理,而 Websoft9 则通过 GitOps 实现了强大的版本控制与团队协作能力。文章从可视化编辑、部署便捷性、版本管理等方面进行评测,为不同使用场景提供了推荐方案,展望了未来 Compose 管理向 GitOps 深度融合的发展趋势。
179 1
2025年 三个 Docker Compose 可视化管理器测评
|
数据可视化 开发工具 git
GitOps 驱动的 Docker Compose 可视工具化来了,图形化编辑器上玩转容器编排
Docker Compose 简化了多容器应用的部署,但随着应用复杂度上升,文本配置方式逐渐暴露出维护难、协作效率低等问题。基于 GitOps 的可视化 Docker Compose 工具应运而生,通过图形界面降低使用门槛,提升配置准确性和团队协作效率。结合 GitOps,实现配置变更的版本追踪、自动化部署与环境一致性,为多容器应用管理提供高效、安全的解决方案。
|
3月前
|
NoSQL Redis Docker
使用Docker Compose工具进行容器编排的教程
以上就是使用Docker Compose进行容器编排的基础操作。这能帮你更有效地在本地或者在服务器上部署和管理多容器应用。
353 11
|
3月前
|
NoSQL 安全 Redis
Docker Compose :从入门到企业级部署
Docker Compose 是用于定义和运行多容器应用的工具,支持服务、网络和卷三大核心要素。通过简洁的 YAML 文件,可实现应用的快速部署与管理,适用于开发、测试及生产环境。
229 1
|
5月前
|
网络协议 Ubuntu Docker
Docker Compose--命令说明
Docker Compose--命令说明
885 30
|
5月前
|
网络协议 NoSQL Redis
Docker Compose--模板文件
Docker Compose--模板文件
346 29
|
5月前
|
Linux Docker Windows
Docker Compose
Docker Compose
534 29
|
5月前
|
关系型数据库 MySQL 数据库
Docker Compose-实战
Docker Compose-实战
162 5