docker-compose 指定自己的别名_Docker Compose 详解

Docker是一个很棒的工具,但要真正充分发挥其潜力,最好是应用程序的每个组件都在自己的容器中运行。对于具有大量组件的复杂应用程序,编排所有容器以一起启动和关闭(更不用说彼此交谈)可能很快变得难以处理。

Docker社区提出了一个名为Fig的流行解决方案,它允许您使用单个YAML文件来编排所有Docker容器和配置。这变得如此受欢迎,以至于Docker团队最终决定基于Fig源制作他们自己的版本。他们称之为Docker Compose。简而言之,它使得处理Docker容器的编排过程(例如启动,关闭和设置容器内链接和卷)非常容易。

在本文结束时,您将安装Docker和Docker Compose,并对Docker Compose的工作原理有基本的了解。

docker-compose 指定自己的别名_Docker Compose 详解_第1张图片

Docker和Docker撰写概念

使用Docker Compose需要将一堆不同的Docker概念合二为一,所以在我们开始之前,让我们花一点时间来回顾一下所涉及的各种概念。如果您已经熟悉Docker概念,如卷,链接和端口转发,那么您可能希望继续前进到下一部分。

Docker镜像

每个Docker容器都是Docker镜像的本地实例。您可以将Docker镜像视为完整的Linux安装。通常,最小安装仅包含运行映像所需的最少包。这些映像使用主机系统的内核,但由于它们在Docker容器内运行并且只能看到自己的文件系统,因此完全可以在Ubuntu主机上运行像CentOS这样的分发(反之亦然)。

大多数Docker镜像都是通过Docker Hub分发的,Docker Hub由Docker团队维护。大多数流行的开源项目都有相应的镜像上传到Docker Registry,您可以使用它来部署软件。在可能的情况下,最好抓住“官方”镜像,因为Docker团队保证他们遵循Docker最佳实践。


下面进入主题,安装Docker Compose

安装 Docker Compose

  • 安装 Docker Compose 可以通过下面命令自动下载适应版本的 Compose,并为安装脚本添加执行权限
sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-compose
  • 查看安装是否成功

docker-compose -v

快速入门

  • 打包项目,获得 jar 包 myblog.jar
  • 在 jar 包所在路径创建 Dockerfile 文件,添加以下内容
FROM openjdk:8-jdk-alpine3.9RUN mkdir -p /app/myblogWORKDIR /app/myblog#Copy JarCOPY myblog.jar /app/myblog/ENV TZ Asia/ShanghaiEXPOSE 8080ENTRYPOINT ["java","-jar","-Dserver.port=8080","myblog.jar"]
  • 在 jar 包所在路径创建文件 docker-compose.yml,添加以下内容
version: '2' # 表示该 Docker-Compose 文件使用的是 Version 2 fileservices:  myblog:  # 指定服务名称    build: .  # 指定 Dockerfile 所在路径    ports:    # 指定端口映射      - "80:8080"
  • 在 docker-compose.yml 所在路径下执行该命令 Compose 就会自动构建镜像并使用镜像启动容器
docker-compose updocker-compose up -d  // 后台启动并运行容器
  • 访问 http://localhost:80即可访问微服务接口

容器报错的话,请执行以下命令:

ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.解决办法:

sudo groupadd dockersudousermod -aG docker $USER

注意:执行完上面命令之后,一定要退出终端重新登录。

docker-compose 指定自己的别名_Docker Compose 详解_第2张图片

Docker Compose 常用命令与配置

docker-compose ps  #列出所有运行容器docker-compose logs  #查看服务日志输出docker-compose port myblog 80 #打印绑定的公共端口,下面命令可以输出 eureka 服务 8761 端口所绑定的公共端口docker-compose build  #构建或者重新构建服务docker-compose start myblog  #启动指定服务已存在的容器docker-compose stop myblog #停止已运行的服务的容器docker-compose rm myblog #删除指定服务的容器docker-compose up #构建、启动容器docker-compose kill eureka #通过发送 SIGKILL 信号来停止指定服务的容器docker-compose scale user=3 movie=3 #设置指定服务运气容器的个数,以 service=num 形式指定docker-compose run web bash #在一个服务上执行一个命令pull #下载服务镜像
docker-compose 指定自己的别名_Docker Compose 详解_第3张图片

你可能感兴趣的:(docker-compose,指定自己的别名)