Skip to content

本文不是介绍Docker是什么概念的基础篇,如想了解Docker是什么概念的请自行谷歌(我也是看了好多介绍才开始手动做的:)

一、安装Docker

Mac:

$ brew cask install docker

CentOS:

$ sudo yum update
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
$ sudo systemctl start docker

linux稍微麻烦些,反正我是没这样装上,我最后使用pip装上的:)

验证安装成功

$ docker run hello-world

如果本地没有相应的Image,就回去pull,后面如果看到Hello from Docker!字样就说明安装成功了

二、为Docker镜像下载加速

由于国内网络连接Docker仓库非常慢,所以配置国内镜像加速还是非常必要的,这里没啥坑,自行谷歌吧:)

三、安装 Docker Compose

1、简介

看到这里是不要打人了,尼玛还啥也没干呢就让老子装了这么多东西。

各位大爷请先将你们的刀收好,听我娓娓道来。

一般来说我们的起个demo就一个实例就够了,但是一般来说,web应用会有2个或以上个服务,像WordPress这种简单的也有web+db2个,还别说这其中还要相互依赖关系,比如先起DB,再起web。

Compose 是 Docker 公司推出的一个工具软件,可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml,写好多个容器之间的调用关系。然后,只要一个命令,就能同时启动/关闭这些容器。

# 启动所有服务
$ docker-compose up
# 关闭所有服务
$ docker-compose stop

2、安装

Mac 和 Windows 在安装 docker 的时候,会一起安装 docker compose。Linux 系统下的安装参考官方文档

安装完成后,运行下面的命令。

$ docker-compose --version

3、开始创建

找一空目录,创建文件docker-compose.yml,并写入:

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
volumes:
    db_data:

启动两个容器

$ docker-compose up

如果本机,浏览器试着访问下 http://127.0.0.1:808, 如果是外部服务器 将ip改成对应ip, 应该就能看到 WordPress 的安装界面。

现在关闭两个容器。

$ docker-compose stop

关闭以后,这两个容器文件还是存在的,写在里面的数据不会丢失。下次启动的时候,还可以复用。下面的命令可以把这两个容器文件删除(容器必须已经停止运行)。

$ docker-compose rm

如果问题,查看官方文档

如果不想通过IP+port访问服务的话,可以申请个域名,nginx做下配置,可以看我nginx里那篇文章。

四、参考链接

1、http://www.ruanyifeng.com/blog/2018/02/docker-wordpress-tutorial.html by ruanyifeng