Docker compose 以及镜像使用

embedded/2025/2/23 3:29:13/

Docker compose 以及镜像使用

高级配置

使用 Docker Compose

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。以下是一个 docker-compose.yml 示例:

version: '3'
services:web:image: my-appbuild: .ports:- "8000:8000"volumes:- .:/appenvironment:- ENV=production

运行 Docker Compose:

docker compose up -d

配置数据卷

数据卷用于持久化容器中的数据。例如,将主机的 /data 目录挂载到容器/app/data 目录:

docker run -d -p 8000:8000 -v /data:/app/data --name my-app-container my-app

1.3 配置网络

Docker 支持自定义网络,以便容器之间可以通信。

例如,创建一个自定义网络并运行容器

docker network create my-network
docker run -d --network my-network --name my-app-container my-app

镜像的导出与导入

在 Docker 中,docker commitdocker savedocker load 是三个常用的命令,分别用于从容器生成镜像、将镜像保存为 tar 文件以及从 tar 文件加载镜像。

以下是它们的详细使用方法:

docker_commit_55">docker commit:从容器生成镜像

docker commit 用于将容器的当前状态保存为一个新的镜像。这个命令适用于对容器进行修改后,希望将修改后的状态保存为镜像的场景。

  • 命令格式
docker commit [OPTIONS] <container_id> <new_image_name>:<tag>
  • 常用选项

  • -a:指定镜像的作者。

  • -m:添加提交信息(类似于 Git 的 commit message)。

  • -p:在提交时暂停容器(默认行为)。

  • 示例
    假设容器 ID 是 abcd1234,将其保存为名为 my_custom_image 的镜像,并打上 v1 标签:

docker commit abcd1234 my_custom_image:v1
  • 验证
    使用 docker images 查看新生成的镜像:
docker images

docker_save_tar__79">docker save:将镜像保存为 tar 文件

docker save 用于将一个或多个镜像保存为 tar 归档文件,方便备份或迁移。

  • 命令格式
docker save [OPTIONS] IMAGE [IMAGE...]
  • 常用选项

  • -o:指定输出文件的路径和名称。

  • -q:静默模式,不输出任何信息。

  • 示例
    my_custom_image:v1 镜像保存为 my_image.tar 文件:

docker save -o my_image.tar my_custom_image:v1
  • 验证
    使用 tar 命令查看 tar 文件内容:
tar -tvf my_image.tar

docker_load_tar__103">docker load:从 tar 文件加载镜像

docker load 用于从 tar 归档文件中加载镜像,通常用于恢复或迁移镜像。

  • 命令格式
docker load [OPTIONS]
  • 常用选项

  • -i:指定要加载的 tar 文件路径。

  • -q:静默模式,不输出加载过程中的详细信息。

  • 示例
    my_image.tar 文件加载镜像:

docker load -i my_image.tar
  • 验证
    使用 docker images 查看加载的镜像:
docker images

总结

这些命令是 Docker 中常用的操作镜像的工具,它们可以帮助你在容器和镜像之间进行灵活的转换和管理。

根据实际需求,选择合适的命令来完成任务。

– 欢迎点赞、关注、转发、收藏【我码玄黄】,各大平台同名。


http://www.ppmy.cn/embedded/162277.html

相关文章

docker pull 报错Get “https://registry-1.docker.io/v2/“: net/http: request canceled while waiting for c

报错 &#xff1a;Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) 解决方法 配置加速地址 vim /etc/docker/daemon.json 添加以下内容 {"registry-…

CSS实现中心放大动画

所有的动画代码可在css动画网站直接复制代码&#xff1b; 以下为上述演示动画代码&#xff1a; .scale-up-center {animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;}keyframes scale-up-center {0% {transform: scale(0.5);}100% {transform:…

Android ndk兼容 64bit so报错

1、报错logcat如下 2025-01-13 11:34:41.963 4687-4687 DEBUG pid-4687 A #01 pc 00000000000063b8 /system/lib64/liblog.so (__android_log_default_aborter16) (BuildId: 467c2038cdfa767245f9280e657fdb85) 2025…

13.8 聚焦应用场景的Prompt设计实战:从通用到领域专用的翻译质量跃升

聚焦应用场景的Prompt设计实战:从通用到领域专用的翻译质量跃升 关键词:领域特定Prompt设计、翻译质量优化、动态术语控制、多阶段推理链、Prompt版本管理 1. 翻译Prompt设计核心原则 1.1 领域知识深度渗透 def build_medical_prompt(): return ChatPromptTemplate.from_…

ubuntu部署postgresql+timescaladb时序数据库

ubuntu部署postgresqltimescaladb时序数据库 中间件版本 postgresql-1414.15-0ubuntu0.22.04.1timescaledb-2-postgresql-142.17.2~ubuntu22.04 pg数据库安装 sudo apt install -y postgresql-1414.15-0ubuntu0.22.04.1 sudo systemctl start postgresql sudo systemctl en…

使用vllm docker容器部署大语言模型

说明 最近deepseek比较火&#xff0c;我在一台4卡4090的服务器上尝试部署了一下&#xff0c;记录下部署步骤。 安装过程 安卓docker和nvidia-container-toolkit 安装19.03版本以上的docker-ce即可。安装步骤参考清华docker源上的安装步骤&#xff1a;Docker CE 软件仓库 为…

【第1章:深度学习概览——1.1 深度学习的历史背景与发展轨迹】

你可能不知道,现在能自动给照片上色、帮医生看CT片、甚至写诗作曲的AI技术,其实早在二战时期就埋下了种子。这段故事里充满了天才的灵光乍现、整个行业的集体打脸、以及无数个"山穷水尽疑无路,柳暗花明又一村"的神转折。系好安全带,我们要从1943年的脑科学实验室…

机器学习:决策树

1. 初步概念 决策树是一种基于分裂特征的机器学习方法,用于分类和回归任务。它通过将数据按特征值进行分割,最终做出预测。与线性模型不同,决策树能够自动识别重要的特征,并根据数据情况生成复杂的决策规则。 2. 决策树的核心思想 决策树的核心思想在于选择一个特征作为…