Dockerfile和docker-compose
Dockerfile基础Dockerfile是用来自动化创建Docker镜像的脚本文件通过编写Dockerfile文件可以自动化构建过程减少手动操作确保环境一致性在Dockerfile中常见的命令有FROM(指定基础镜像)、RUN(执行命令)、COPY/ADD(拷贝文件)、WORKDIR(设置工作目录)、CMD/ENTRYPOINT(指定容器启动时的命令)、EXPOSE(指定暴露的端口)、ENV(设置环境变量)。列如下方是一个Dockerfile示例# 第一阶段构建阶段FROM node:14 AS builder WORKDIR /app COPY..RUNnpminstall# 第二阶段运行阶段FROM node:14 WORKDIR /app COPY--frombuilder /app /app CMD[npm,start]配置好dockerfile脚本后就可以通过一下命令构建镜像并启动容器# 构建镜像llmops-ui:1.0.1dockerbuild-fllmops-ui/Dockerfile-tllmopps-ui:1.0.1 llmops-ui/# 运行构建好的镜像dockerrun-d-p5173:80--namellmops-ui llmops-ui:1.0.1# 进入到Docker容器内部dockerexec-itllmops-ui /bin/sh但是在整个项目中会用到多个Docker容器如果逐个容器去启动运行并且有可能容器之间会有依赖关系需要按照特定的顺序启动手动操作起来非常麻烦这时可以使用docker-compose工具来定义和运行多容器docker-compose基础Docker Compose是一个用于定义和运行多容器Docker应用的工具。使用Compose,我们可以通过一个YAML配置文件docker-compose.yml来定义所有的服务、网络和卷等。然后通过一个人简单的命令docker-compose up, 我们就能够启动所有相关的容器服务通过docker-compose down 就可以一键卸载所有关联的容器服务。要想使用Docker Compose 工具需要配置一个docker-compose.yaml 文件该配置文件用于描述容器的服务、网络、卷等。我们通过YAML格式定义来定义该文件列如下方是一个docker-compose.yaml文件的基本实例version:3# 定义 compose 文件的版本services: web: image: nginx# 使用nginx官方镜像ports: -8080:80# 将容器的80端口映射到宿主机的8080端口networks: - my_network db: image: postgres:alpine# 使用postgres官方镜像environment: POSTGRES_PASSWORD: example# 设置环境变量networks: - my_network networks: my_network:#自定义网格定义driver: bridge# 使用bridge网络驱动编写 docker-compose.yaml配置也非常简单常见的配置如下version: 指定docker-compose.yml的版本。通常我们使用的是3.x版本系列services: 定义了所有的容器服务。每个服务代表一个容器。服务可以是镜像的引用也可以通过build来从Dockerfile构建镜像。image: 指定容器使用的镜像。可以是从Docker Hub或其他仓库拉取的镜像build: 指定构建镜像的上下文路径如果是自己编写Dockerfile构建镜像时需要指定environment: 定义环境变量这些环境变量将传递给容器volumes: 挂载宿主机目录或者Docker卷到容器内部常用于持久化数据ports: 定义容器端口与宿主机端口的映射networks: 定义服务之间的网络配置每个服务可以连接到一个或多个网络volumes: 定义数据卷用于容器之间共享数据或持久化数据除了配置项之外docker-compose还通过一系列的命令来执行相应的服务命令如下启动服务docker-composeup该命令会启动docker-compose.yml中定义的所有服务。如果容器镜像不存在会自动从Docker Hub拉取或根据Dockerfile构建镜像。如果只想启动后台容器不阻塞终端可以加上 -d 参数docker-composeup-d停止服务docker-composedown该命令停止并删除所有由docker-compose.yml启动的容器、网络和卷。只停止容器但不删除容器可以使用docker-composestop查看容器日志docker-composelogs该命令用于查看所有服务的日志。如果只想查看某个服务的日志可以指定服务名docker-composelogs web重启服务docker-composerestart该命令用于重启所有服务的容器如果只重启某一个服务可以指定服务名docker-composerestart web查看容器状态docker-composeps该命令用于列出当前Compose环境中的容器状态它会显示容器的状态、端口映射等信息。构建镜像如果服务使用build指令来构建镜像可以使用docker-composebuild该命令会根据docker-compose.yml文件中的配置重新构建镜像运行单个命令有时候你可能需要进入某个服务器。执行一些命令比如查看容器内部的日志或者执行数据库操作等。可以使用docker-composeexecservice_namecommand列如要进入web容器的终端docker-composeexecwebbash

相关新闻

广州个人形象设计公司观察:芭黎晚香如何用一场素人改造,诠释“穿出自我“的晚香哲学

广州个人形象设计公司观察:芭黎晚香如何用一场素人改造,诠释“穿出自我“的晚香哲学

在广州这座节奏飞快的一线城市,个人形象设计早已不是明星或高管的专属,越来越多的都市白领开始意识到:形象是职场晋升的隐形资产,也是社交破圈的入场券。市面上主打形象改造的机构不少,有的擅长色彩诊断,有…

2026/8/4 14:57:36 阅读更多 →
SPI通信协议详解与STM32驱动OLED实战指南

SPI通信协议详解与STM32驱动OLED实战指南

在嵌入式开发中,与传感器、存储芯片、显示屏等外设通信是家常便饭。面对UART、I2C、SPI这几种常见的通信协议,很多开发者,尤其是初学者,常常会困惑:它们有什么区别?我的项目该选哪个?特别是SPI&…

2026/8/4 14:57:36 阅读更多 →
SMAPI安卓安装器终极指南:一键为星露谷物语安装模组框架

SMAPI安卓安装器终极指南:一键为星露谷物语安装模组框架

SMAPI安卓安装器终极指南:一键为星露谷物语安装模组框架 【免费下载链接】SMAPI-Android-Installer SMAPI Installer for Android 项目地址: https://gitcode.com/gh_mirrors/smapi/SMAPI-Android-Installer 你是否曾经羡慕PC玩家能在星露谷物语中享受成千上…

2026/8/4 14:57:36 阅读更多 →

最新新闻

电商平台系统是什么?从零理解电商数字化运营的核心基础设施

电商平台系统是什么?从零理解电商数字化运营的核心基础设施

"一个做线下批发做了十几年的老板,去年开始做电商——在淘宝开了一个店、抖音开了两个号。他跟我说了一句话,我觉得概括了所有传统老板转型电商的真实困境:我以前管一个仓库、十几个员工——每天早上到公司转一圈就知道今天什么情况。现…

2026/8/4 15:36:54 阅读更多 →
如何用Python轻松获取同花顺问财数据:量化投资入门完整指南

如何用Python轻松获取同花顺问财数据:量化投资入门完整指南

如何用Python轻松获取同花顺问财数据:量化投资入门完整指南 【免费下载链接】pywencai 获取同花顺问财数据 项目地址: https://gitcode.com/gh_mirrors/py/pywencai 你是不是经常为获取股票数据而烦恼?手动复制粘贴效率低下,网页爬虫技…

2026/8/4 15:36:54 阅读更多 →
VMware Unlocker终极指南:如何在Windows/Linux上免费运行macOS虚拟机

VMware Unlocker终极指南:如何在Windows/Linux上免费运行macOS虚拟机

VMware Unlocker终极指南:如何在Windows/Linux上免费运行macOS虚拟机 【免费下载链接】unlocker VMware macOS utilities 项目地址: https://gitcode.com/gh_mirrors/unl/unlocker 你是否梦想在普通PC上体验macOS的强大功能?VMware Unlocker正是你…

2026/8/4 15:36:54 阅读更多 →
iperf3 Windows版网络性能测试完整指南:从概念到实战的3步精通

iperf3 Windows版网络性能测试完整指南:从概念到实战的3步精通

iperf3 Windows版网络性能测试完整指南:从概念到实战的3步精通 【免费下载链接】iperf3-win-builds iperf3 binaries for Windows. Benchmark your network limits. 项目地址: https://gitcode.com/gh_mirrors/ip/iperf3-win-builds 网络性能测试对于现代数字…

2026/8/4 15:36:54 阅读更多 →
5分钟掌握Wand-Enhancer:免费解锁WeMod高级功能的完整指南

5分钟掌握Wand-Enhancer:免费解锁WeMod高级功能的完整指南

5分钟掌握Wand-Enhancer:免费解锁WeMod高级功能的完整指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer Wand-Enhancer开源工具是一款…

2026/8/4 15:36:54 阅读更多 →
jvm-02-包装类对象的缓存问题

jvm-02-包装类对象的缓存问题

文章目录问题描述为什么同样是结果不一样?为什么Integer会有缓存机制?缓存范围可以修改吗?其他包装类的缓存整理总结问题描述 试问下方两个结果比较的输出是什么? public void test(){Integer a1 128;Integer b1 128;System.o…

2026/8/4 15:35:53 阅读更多 →

日新闻

AI Agent白手起家26: 使用标准事件驱动大模型实践

AI Agent白手起家26: 使用标准事件驱动大模型实践

纲要 练习目标:掌握大模型标准事件的调用回顾 LangChain 中的核心标准事件 invokestreambatchastream_eventswith_structured_output 环境准备实战代码:多种事件调用对比 同步调用与流式输出批量处理异步事件流监听结构化输出 运行说明与预期结果总结与扩…

2026/8/4 0:00:40 阅读更多 →
dealsea是什么?跨境卖家必知的美国deal站入门指南

dealsea是什么?跨境卖家必知的美国deal站入门指南

说实话,第一次听说美国这个老牌折扣网站的跨境卖家,十个有八个会问同一个问题:这个平台到底是干嘛的?我见过一个做家居出口的朋友,他在亚马逊上月销二十万美金,却从来没用过它。我给他看了首页——一屏一屏…

2026/8/4 0:01:40 阅读更多 →
清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

通讯作者:邓兵、刘建国通讯单位:清华大学DOI:https://doi.org/10.1021/acs.est.6c00603研究背景稀土元素(REEs)是清洁能源技术与电子器件不可或缺的核心原料,然而传统提取方式依赖能耗高、排放大的采矿与强…

2026/8/4 0:01:40 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/4 13:24:41 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/4 11:41:39 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/4 5:26:40 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/4 13:38:24 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/4 11:09:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/4 13:38:40 阅读更多 →