docker-compose的安装和使用详解

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+端口号,就可以看到我们的程序了。

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

(0)

相关推荐

  • docker-compose 详解及示例代码

    docker-compose使用示例 利用docker搭建一个mysql + java service + nginx,总共4个docker容器,如果采用docker run的方式一个一个容器去创建十分麻烦.为了能更高效的批量创建容器,docker推出了docker-compose工具,只需要定义一个docker-compose.yml文件即可快速搞定一组容器的创建, mysql: image: daocloud.io/yjmyzz/mysql-osx:latest volumes: - ./m

  • 安装docker-compose的两种最简方法

    这里简单介绍下两种安装docker-compose的方式,第一种方式相对简单,但是由于网络问题,常常安装不上,并且经常会断开,第二种方式略微麻烦,但是安装过程比较稳定 方法一: # curl -L https://github.com/docker/compose/releases/download/1.8.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose # chmod +x /usr/local/bi

  • Docker Compose常用命令详解

    1.Docker compose的使用非常类似于docker命令的使用,但是需要注意的是大部分的compose命令都需要到docker-compose.yml文件所在的目录下才能执行. 2.compose以守护进程模式运行加-d选项 $ docker-compose up -d 3.查看有哪些服务,使用docker-compose ps命令,非常类似于 docker 的ps命令 4.查看compose日志 $ docker-compose logs web $ docker-compose lo

  • Docker-compose的安装和设定详细步骤

    Docker-compose的安装和设定详细步骤 docker的1.12版本中,swarm已经合体,docker-engine/swarm/docker-compose的三件套装已经变成两件.后续会不会将docker-compose进一步合体呢,想做的话应该是顺手的事情吧,不想做的话再简单也不会做.考虑到docker-compose可能以独立的方式消失在docker的舞台之后,先写一个安装的文档作纪念吧. 最简单的方式 下载下来二进制的docker-compose,放到你想放的地方,设定可执行的

  • 详解Docker之Compose服务编排

    Compose是Docker的服务编排工具,主要用来构建基于Docker的复杂应用,Compose 通过一个配置文件来管理多个Docker容器,非常适合组合使用多个容器进行开发的场景. 说明:Compose是Fig的升级版,Fig已经不再维护.Compose向下兼容Fig,所有fig.yml只需要更名为docker-compose.yml即可被Compose使用. 服务编排工具使得Docker应用管理更为方便快捷. Compose网站:https://docs.docker.com/compos

  • Docker-Compose的使用示例详解

    Docker Compose是一个用来定义和运行复杂应用的Docker工具.使用Compose,你可以在一个文件中定义一个多容器应用,然后使用一条命令来启动你的应用,完成一切准备工作. - github.com/docker/compose docker-compose是用来在Docker中定义和运行复杂应用的工具,比如在一个yum文件里定义多个容器,只用一行命令就可以让一切就绪并运行. 使用docker compose我们可以在Run的层面解决很多实际问题,如:通过创建compose(基于YU

  • 浅析docker-compose部署mysql无法访问的问题

    什么是Docker-Compose Compose项目来源于之前的fig项目,使用python语言编写,与docker/swarm配合度很高.Compose 是 Docker 容器进行编排的工具,定义和运行多容器的应用,可以一条命令启动多个容器,使用Docker Compose不再需要使用shell脚本来启动容器. Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用

  • Docker 容器编排利器Compose(起步篇)

    一个大型的Docker组成的微服务应用中,容器的数量是非常庞大的,如果依赖传统的人工配置方式进行维护,对于开发和运维来说简直就是噩梦.Compose的出现正是为了解决这个问题. Compose简介 Compose的前身是Fig,Fig被Docker收购之后正式更名为Compose,Compose向下兼容Fig.Compose是一个用于定义和运行多容器Docker应用的工具,只需要一个Compose的配置文件和一个简单的命令就可以创建并运行应用所需的所有容器.在配置文件中,所有容器通过servic

  • 详解Docker Compose 中可用的环境变量问题

    Compose 的多个部分在某种情况下处理环境变量.本教程可以帮助你找到所需的信息. 1. 替换Compose文件中的环境变量 可以使用 shell 中的环境变量填充 Compose 文件中的值: web: image: "webapp:${TAG}" 更多信息请参考 Compose 文件手册中的 Variable substitution章节. 2. 设置容器中的环境变量 可以通过 environment 关键字设置服务容器中的环境变量,就跟使用 docker run -e VARI

  • Ubuntu15.10安装docker和docker-compose教程

    1.查看Linux内核版本(3.8以上)和操作系统位数64位 uname -a 结果: Linux jiaxiaoniu-jnq 4.2.0-16-generic #19-Ubuntu SMP Thu Oct 8 15:35:06 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux 查看Ubuntu版本号命令:cat /etc/issue 2.安装Docker sudo apt-get install docker.io 3.安装后查看Docker版本 sudo do

  • docker compose 服务启动顺序控制的方法

    概要 docker-compose 可以方便组合多个 docker 容器服务, 但是, 当容器服务之间存在依赖关系时, docker-compose 并不能保证服务的启动顺序. docker-compose 中的 depends_on 配置是容器的启动顺序, 并不是容器中服务的启动顺序. 问题重现 首先, 我们构造一个示例, 来演示 docker-compose 带来的问题. docker-compose.yml 文件如下: version: '2' services: web: image:

  • 安装docker和docker-compose实例详解

    1.卸载旧版本Docker sudo yum remove docker docker-common docker-selinux docker-engine 2.执行以下命令安装依赖包 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 3.鉴于国内网络问题,强烈建议使用国内源执行下面的命令添加 yum 软件源 sudo yum-config-manager --add-repo http://mirrors.ali

随机推荐