Dockerはじめました~その3~
尝试使用Docker Compose
~目录~
・はじめに
・今回の目的
・Docker Composeとは
・Docker Composeの導入
・WordPress環境の構築
・今回のまとめ
首先
Dockerを使用してWordPressの環境を構築していきます。
今回もMacでの構築になりますのでLinux、Windowsの方はご自身の環境に合わせて読んでいただけると幸いです。
また、毎回WordPressですみません。次回はWordPress以外を考えてますので今回はご了承ください。
以下是本次环境的信息:
– Mac OSX Yosemite 10.10.5
– Docker 1.13.0
这次还是幻灯片。
你可能会想“还是幻灯片??”但请忽略这点。在意它只会让自己输。
这次的目的
今回もDockerでWordPress環境を構築していくのですが、前回述べた通り、今回は Docker Conpose を使用して、より効率の良い環境作りを目指します。
我希望能够解释一下,Docker Compose在其中扮演了怎样的角色。
Docker Compose 是什么?
首先,让我们来解释一下本次使用的Docker Compose。
简单来说,它是一种功能,可以将由多个Docker容器组成的服务的构建和执行步骤定义为一个整体,并自动化执行。
比如说… …)
在这个场合下,WordPress的目标是在两个大致容器中构建,分别是放置WordPress核心的应用程序服务器和MySQL服务器。
最初,需要将这些容器分别启动,然后将它们进行关联。
当在Docker中启动环境时,我们还需要考虑容器的启动顺序,所以随着容器数量的增加,每次启动都变得令人沮丧。
そこで活躍するのが今回ご紹介する Docker Compose です。
この Dokcer Compose を利用することによりコマンド一発で対象の全てのコンテナを起動・停止することができます。
只需要在名为docker-compose.yml的YAML格式文件中编写配置并启动即可使用基本功能。
これにより先ほどの問題を解消して、効率良く実行環境を構築・起動・停止してくれます。便利ですね。
Docker Composeの導入
では実際に使用するためにDocker Composeを導入します。
このDocker ComposerはDocker本体の機能ではなく、あくまでDocker Composeの機能なので使用する際にはインストールする必要があります。
虽然如此,现在 Docker for Mac/Windows 已经引入了 Docker Compose,所以安装了这些的人不需要再次安装。只有那些迄今为止没有安装 Docker Compose 的人才需要安装。
※如果通过 $ dokcer-compose -v 可以确认版本已安装。
那么,我们开始安装吧。这次我们将通过命令行进行安装。
※如果您已经安装过了,可以跳过此步骤。
请使用以下curl命令安装Docker Compose。
使用curl命令从GitHub下载docker-compose-`uname -s`-`uname -m`文件,并将其保存到/usr/local/bin/docker-compose文件中。
接下来给予执行权限。
$ chmod +x /usr/local/bin/docker-compose
これで無事にインストール完了です。
搭建WordPress环境
由于无事Dokcer Compose可以使用的环境已经准备好,让我们使用它来构建WordPress环境。
这个步骤与上次的Dockerfile相似。
现在开始行动吧。
首先,在本地选择一个合适的位置创建一个合适的目录。
然后在该目录中创建一个 docker-compose.yml 文件。
另外,由于本次需要将mysql的配置文件分开,所以还需创建一个名为 “.env” 的文件。
样品目录(适当的目录名称)
├── .env
└── docker-compose.yml←写在这里
接下来,我将写下这些文件的内容。
version: "2"
services:
wordpress:
image: wordpress:latest
ports:
- "8080:80"
depends_on:
- db
environment:
WORDPRESS_DB_HOST: "db:3306"
env_file: .env
db:
image: mysql:latest
env_file: .env
volumes:
- db-data:/var/lib/mysql
volumes:
db-data:
driver: local
下記のユーザー名やパスワード等は任意になるのでそれぞれ設定してください。
WORDPRESS_DB_NAME=wordpress
WORDPRESS_DB_USER=wp_user
WORDPRESS_DB_PASSWORD=hogehoge
MYSQL_RANDOM_ROOT_PASSWORD=yes
MYSQL_DATABASE=wordpress
MYSQL_USER=wp_user
MYSQL_PASSWORD=hogehoge
在docker-compose.yml文件中,与Dockerfile类似,有多种专用命令和相关的语法。
このファイルに書いてあるものはその中の一部ですが、初見ではさっぱりだと思いますのでここで使われているものをいくつか紹介します。
这个docker-compose.yml文件中所使用的语法
当前有两个版本的docker-compose。通过指定这个主要格式的不同,写法会稍有变化。
目前推荐使用version2,所以我们使用这个版本。
服务:
指定在这个环境中要使用的服务。在这次中我们填写了使用WordPress和数据库的意思。
图片:指定要使用的图像。
端口:
・指定端口号。这次使用端口8080。
取决于:
– 将容器彼此链接。这里我们将一个名为wordpress的服务链接到一个名为db的服务。
环境:
· 添加环境变量。同时创建.env文件并在其中写入mysql的配置,然后进行读取。
我們已經完成了設置WordPress環境所需的配置。
在sample_directory文件夹内,输入以下命令。
使用docker-compose启动容器,并且在后台运行。
通过这个,WordPress的环境已经搭建好了。
$ docker images and $ docker ps -a 可以进行简单的 Docker 镜像和容器的列表查询。
当您检查映像或容器时,可以确认它们被正确生成。
本次总结。
我觉得这次基本的构建方法我学到了一些。
接下来的问题是如何利用这些方法来创建高效的开发环境。
我也希望能够学到其他未涉及的Docker工具知识。
下次要做的事情 (Xià cì zuò de
下一次,我希望能够运用我之前学到的知识,构建除了WordPress之外的环境。由于我计划扩大规模,可能会遇到些许困难,但我会努力奋斗。
我参考过的网站
以下是给出的链接,以及它们的中文同义句:
1. Docker Compose 官方文档关于 `volumes` 和 `volume_driver` 部分的链接:http://docs.docker.jp/compose/compose-file.html#volumes-volume-driver
2. 在技术猎人博客上的一篇文章:https://tech.recruit-mp.co.jp/infrastructure/post-11266/
3. 一个关于 Sakura Cloud 上如何使用 Docker Compose 的知识库文章:http://knowledge.sakura.ad.jp/knowledge/5736/
4. GMOCLOUD 学院中有关于使用 Docker Compose 部署 WordPress 的教程:https://academy.gmocloud.com/advance/20160118/1557
5. 使用 UpCloud 部署 WordPress 和 Docker Compose 的支持文档:https://www.upcloud.com/support/deploy-wordpress-with-docker-compose/