小知识:详解如何使用Docker-Compose命令

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

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

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

如何安装docker compose?

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

?
1
2
3
sudo curl -l “https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname
-s)-$(uname -m)” -o /usr/local/bin/docker-compose
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
version: 3.3
services:
db:
image: mysql:5.7
volumes:
– db_data:/var/lib/mysql
restart: always
environment:
mysql_root_password: somewordpress
mysql_database: wordpress
mysql_user: wordpress
mysql_password: wordpress
wordpress:
depends_on:
– db
image: wordpress:latest
ports:
– “8000:80”
restart: always
environment:
wordpress_db_host: db:3306
wordpress_db_user: wordpress
wordpress_db_password: wordpress
wordpress_db_name: wordpress
volumes:
db_data: {}

保存并关闭该文件。

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

?
1
docker-compose up –d

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

%小知识:详解如何使用Docker-Compose命令-1猿站网-插图

图b. wordpress安装程序

如何检查你的部署?

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

?
1
docker-compose logs

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

%小知识:详解如何使用Docker-Compose命令-2猿站网-插图

图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命令-3猿站网-插图

图d. 查看wordpress服务日志

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

?
1
docker-compose port wordpress 80

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

%小知识:详解如何使用Docker-Compose命令-4猿站网-插图

图e. wordpress的端口映射

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

?
1
docker-compose ps

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

%小知识:详解如何使用Docker-Compose命令-5猿站网-插图

图f. 容器列表

刚刚开始

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

原文标题:how to use the docker-compose command,作者:jack wallen

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

原文链接:http://developer.51cto.com/art/201909/602987.htm

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:详解Linux系统中网卡MAC地址克隆方法

2023-4-1 23:56:13

建站知识

小知识:Nginx session丢失问题处理解决方法

2023-4-2 0:55:51

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索