如何使用Docker-Compose命令
创始人
2025-03-18 04:51:47
0

【51CTO.com快译】你可以通过多种方式来管理和部署Docker容器。你可以直接使用Docker命令、借助众多GUI工具中的一款(基于Web的工具和面向桌面客户端的工具),也可以选择走docker-compose这条路。

Docker Compose是什么东东?Docker Compose用于创建容器及容器之间的连接。然而,docker-compose命令的用途实际上广泛得多。使用此命令可以:构建映像、扩展容器、修复容器、查看容器的输出、列出容器的公共端口等等。

那么如何使用docker-compose呢?不妨一探究竟。

如何安装Docker Compose?

即使你已经在服务器上安装了Docker,也很可能没有安装Docker Compose。要安装Docker Compose,执行以下命令: 

  1. sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname  
  2. -s)-$(uname -m)" -o /usr/local/bin/docker-compose 
  3. sudo chmod +x /usr/local/bin/docker-compose 

使用以下命令验证安装:

  1. docker-compose version 

你应该会看到几个应用程序的版本号(图A)。

如何使用Docker-Compose命令
图A. Docker Compose已安装并准备就绪

Docker文件

为了部署容器,Docker Compose依赖docker-compose.yml文件,该文件用于将Docker容器部署到你的特定环境。假设你想部署Wordpress容器。先使用以下命令创建一个新目录:

  1. mkdir ~/wordpressbuild 

使用以下命令切换到该新目录:

  1. cd ~/wordpressbuild 

使用以下命令创建新的Docker Compose文件:

  1. nano docker-compose.yml 

将以下内容(取自官方Docker Compose文档)粘贴到文件中: 

  1. version: '3.3' 
  2.  
  3. services: 
  4.    db: 
  5.      image: mysql:5.7 
  6.      volumes: 
  7.        - db_data:/var/lib/mysql 
  8.      restart: always 
  9.      environment: 
  10.        MYSQL_ROOT_PASSWORD: somewordpress 
  11.        MYSQL_DATABASE: wordpress 
  12.        MYSQL_USER: wordpress 
  13.        MYSQL_PASSWORD: wordpress 
  14.    
  15.  wordpress: 
  16.      depends_on: 
  17.        - db 
  18.      image: wordpress:latest 
  19.      ports: 
  20.        - "8000:80" 
  21.      restart: always 
  22.      environment: 
  23.        WORDPRESS_DB_HOST: db:3306 
  24.        WORDPRESS_DB_USER: wordpress 
  25.        WORDPRESS_DB_PASSWORD: wordpress 
  26.        WORDPRESS_DB_NAME: wordpress 
  27. volumes: 
  28.     db_data: {} 

保存并关闭该文件。

现在我们使用以下命令构建项目并在分离模式下部署容器:

  1. docker-compose up –d 

该命令将下载所有必需的映像(本例中是MySQL和Wordpress),然后在端口8000上部署该服务。可以将Web浏览器指向http://SERVER_IP:8000(其中SERVER_IP是托管服务器的IP地址),查看Wordpress安装页面(图B)。

如何使用Docker-Compose命令
图B. Wordpress安装程序

如何检查你的部署?

假设你想检查来自部署的日志。为此,执行以下命令:

  1. docker-compose logs 

你应该会看到来自上一次部署的大量信息(图C)。

如何使用Docker-Compose命令
图C. 查看来自Wordpress的docker-compose部署的日志

该命令将输出大量信息(如果你部署了众多容器更是如此)。相反,你可以指定要查看日志文件的服务。如何知道使用哪个服务名称?检查docker-compose.yml文件。在本文示例中,我们有两个服务:

  • db:数据库
  • wordpress:Wordpress容器

因此,如果你只想查看wordpress服务的日志,那么该命令将是:

  1. docker-compose logs wordpress 

你也可以查看日志的输出(就像使用tail命令那样),如下所示:

  1. docker-compose logs -f wordpress 

只要wordpress服务的新信息记入日志,就会出现在终端窗口中(图D)。

如何使用Docker-Compose命令
图D. 查看wordpress服务日志

如果你忘了部署中使用哪些端口,该怎么办?可以查看docker-compose.yml文件,也可以将port选项与docker-compose命令一起使用。你要知道服务的内部命令。比如说,Wordpress默认使用端口80,因此我们知道这是内部端口。但我们将什么分配为面向网络的端口?用以下命令查清楚:

  1. docker-compose port wordpress 80 

该命令的输出将显示我们将内部端口80映射到外部端口8000(图E)。

如何使用Docker-Compose命令
图E. Wordpress的端口映射

如果你记不得已部署的容器,可以执行命令:

  1. docker-compose ps 

输出会列出已部署的每个容器(图F)。

如何使用Docker-Compose命令图F. 容器列表

刚刚开始

这应该让你可以开始领略Docker Compose的强大功能。我们会在下一篇文章中细述docker-compose.yml文件,弄清楚如何构建自己的容器。

原文标题:How to use the docker-compose command,作者:Jack Wallen

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...