Docker Compose的入门与使用

Docker Compose的概念在上一篇Docker的介绍中有讲解,现在说一下怎么使用

安装Docker Compose

从官网上下载,速度会比较慢
执行

bash 复制代码
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 


授权

bash 复制代码
sudo chmod +x /usr/local/bin/docker-compose

验证

bash 复制代码
docker-compose -v

Compose入门案例

运行一个Tomcat
流程:

  1. 需要定义一个docker-compose.yml 文件----可以在idea里面创建
  2. 需要在docker-compose文件配置依赖服务
  3. docker-compose up 执行该文件
  • 上传yml文件到linux之后直接执行 docker-compose up


    容器名称

docker-compose构建同一个局域网

因为每一个容器都相当于一个独立的linux,那么我们要如何才做到将这些容器联通起来?
那就是配置局域网,将你想联通的容器都放在同一个局域网中就行了。
如何做?
使用networks,参考以下配置

进阶配置

这样就可以联通起来了

Compose常用命令

docker-compose ps 列出项目中所有的容器
docker-compose stop 停止docker-compose
docker-compose logs 查看容器中日志信息
docker-compose pull 拉取服务依赖的镜像

Compose常用配置

Image 镜像名称;
Build 根据docker file 打包 成镜像;
Context 指定docker file文件位置;
Commond 使用command可以覆盖容器启动后默认执行的命令;
Container_name 容器名称;
depends_on 指定依赖那个服务;
Ports 映射的端口号;
extra_hosts 会在/etc/hosts文件中添加一些记录;
Volumes 持久化目录;
volumes_from 从另外一个容器挂在数据卷;
Dns 设置dns

Compose部署springboot项目

dockerfile文件

bash 复制代码
#基础镜像使用java
FROM java:8
#作者
MAINTAINER tujr
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
#将jar包添加到容器中并更名为tujr.jar
ADD tujr-thymeleaf-1.0-SNAPSHOT.jar tujr.jar
#运行jar包
RUN bash -c 'touch /tujr.jar'
ENTRYPOINT ["java","-Djava,security.egd=file:/dev/./urandom","-jar","/tujr.jar"]
#暴露8080端口
EXPOSE 8080

docker-compose.yml文件

spring boot 配置文件

直接执行 docker-compose up

相关推荐
闲云野鹤在人间1 天前
Kubernetes Service 与 kube-proxy 详解
云原生·容器·kubernetes
说实话起个名字真难啊1 天前
实战docker部署dify及注意点
运维·docker·容器
闲云自留地1 天前
K8s Service 全解:服务发现、四种类型、会话保持、金丝雀发布一篇通
容器·kubernetes·服务发现
choumin1 天前
C++ 标准容器为什么不能存引用
c++·容器·引用类型
Starry-sky(jing)1 天前
crane 下载镜像:不连接 Docker,3 步准备并校验 ARM64 离线包
运维·docker·arm64·crane
对象存储与RustFS1 天前
GPU 在空转等数据?PyTorch 训练集进 RustFS 的三种接法
后端·docker·云原生
可涵不会debug1 天前
超级马里奥常驻极空间以后怎么打开?Docker运行游戏页面,手机电脑都能从浏览器进入
游戏·docker·智能手机
姜鱼问生2 天前
网页一片白?Docker 跑 Nginx 读不到文件,403 Forbidden 排查实录
nginx·docker·容器
\光辉岁月/2 天前
2.spring5-IOC
java·容器·ioc·注解
ms72wx2 天前
Docker 命令学习笔记:从入门到进阶的实战指南
笔记·学习·docker