欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

docker-compose的安装和使用详解

程序员文章站 2022-06-27 15:46:40
docker compose 是一个用来定义和运行复杂应用的 docker 工具。 使用 docker compose 不再需要使用 shell 脚本来启动容器。(通过 docker-...

docker compose 是一个用来定义和运行复杂应用的 docker 工具。 使用 docker compose 不再需要使用 shell 脚本来启动容器。(通过 docker-compose.yml 配置)

docker compose的安装

github源

sudo curl -l https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 给docker-compose添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose

daocloud源

curl -l https://get.daocloud.io/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# 给docker-compose添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose

docker compose的卸载

sudo rm /usr/local/bin/docker-compose

查看docker compose的版本

docker-compose --version

配置dockerfile

#指定基础镜像,在其上进行定制
from java:8

#维护者信息
maintainer zhouzhaodong <xiuaiba@163.com>

#设置工作目录
workdir /apps/demo

#添加demo-0.0.1-snapshot.jar 到容器里
add demo-0.0.1-snapshot.jar demo-1.0.0.jar

#bash方式执行,使demo-1.0.0.jar可访问
#run新建立一层,在其上执行这些命令,执行结束后, commit 这一层的修改,构成新的镜像。
run bash -c "touch /demo-1.0.0.jar"

#声明运行时容器提供服务端口,这只是一个声明,在运行时并不会因为这个声明应用就会开启这个端口的服务
expose 8080

#指定容器启动程序及参数  <entrypoint> "<cmd>"
entrypoint ["java","-jar","demo-1.0.0.jar"]

配置docker-compose.yml文件

# 版本
version: '3.0'
services:
 demo:
  # build就是用来指定dockerfile所在的文件路径
  build: .
  # 映射端口
  ports:
  - "8080:8080"
  volumes: # 指定一个文件目录,用来存放容器数据。
  # $pwd 表示当前路径
  - $pwd/data:/var/lib/log

docker-compose的常用命令

build: # 不带缓存的构建镜像
  docker-compose build --no-cache;
up: # 构建并启动容器
  docker-compose up -d
down: # 删除所有容器,镜像
  docker-compose down
restart: #重启容器
  docker-compose build; docker-compose down; docker-compose up -d

运行docker-compose命令构建运行镜像

  • 首先在宿主机里面新建一个文件夹存放我们之前创建的dockerfile,docker-compose.yml和我们打好的jar包。
  • 先进入到该目录下,运行down命令,删除之前创建的所有镜像。
  • 运行build命令,生成镜像。
  • 运行up命令,启动容器。
  • 访问ip+端口号,就可以看到我们的程序了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。