Docker练习部署go项目mongodb进阶版(docker-compose)

本文介绍了如何使用docker-compose来部署Go项目并配合MongoDB,重点在于通过容器目录映射实现数据持久化。首先,解释了docker-compose的作用和安装步骤,接着展示了配置文件的关键字,特别是`volumes`用于将数据库容器的目录挂载到宿主机。文章还提到了`environment`创建数据库用户和`command`覆盖默认启动指令。由于容器间的网络连接问题,文章详细阐述了如何添加网络服务,使外部容器能链接到MongoDB容器。最后,讨论了如何在docker-compose中添加服务器服务,确保外部访问和与数据库的连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

只是把数据库用docker部署在容器里,那么保存的数据也就在容器里,每次导入导出,或者容器被删除,那么将会很麻烦,docker本身自带路径映射,可以将宿主机器的目录映射到容器里,说干就干,来试着重新部署一下。
这次我们主要用到了docker-compose,什么是docker-compose?

  • docker-compose 简介和安装

docker-compose 是 用于定义和启动多容器Docker应用程序的工具,使用过程大致分为三步:

1.Define your app’s environment with a Dockerfile so it can be reproduced anywhere.
1.用dockerfile配置环境,以便与可以复制到其他任意地方。

2.Define the services that make up your app in docker-compose.yml so they can be run together in an isolated environment.
2.在docker-compose.yml中定义组成应用程序的Service,这样这些Service可以在一个隔离环境运行。

3.Run docker-compose up and Compose starts and runs your entire app.
3.用docker-compose up启动。

安装:
linux

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
$ docker-compose --version
  • yml 文件配置

上篇文章我们用docker启动一个mongo容器,用了两种方式,一种是命令行,一种是yml文件配置,当然也可以用dockerfile。这里我们主要使用yml文件。
先了解一下配置文件的关键字:yml文件关键字
建议优先参考文档,文档中写出了关键字的有效版本,我只列一部分常用的。

描述字 用法
build 可以指定构建上下文的字符串,也就是 docker build -t 的路径。
context 指向包含Dockerfile的目录的路径,或者指向git存储库的url。
dockerfile 替代Dockerfile,组合使用另一个文件来构建,还必须指定构建路径。
args 添加构建参数,这些环境变量只能在构建过程中访问。
cache_from 用于缓存解析的image列表。
command 覆盖默认命令,也可以是字符串列表。
container_name 指定容器的名称。
depends_on 指定依赖关系:docker-compose up 按依赖关系启动,优先启动被依赖的服务;docker-compose up SERVICE 启动单项服务时,自动包含依赖关系;docker-compose stop 按依赖关系停止,优先停止不被依赖的服务。
expose 在不将端口发布到主机的情况下公开端口——它们只能被链接的服务访问,只能指定内部端口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值