您的位置:

CentOS 7上使用Docker Compose快速构建应用程序

一、Docker Compose简介

Docker Compose是Docker官方提供的一个开源工具,用于定义和运行多容器的Docker应用程序。通过简化容器的部署过程,在多个容器之间自动构建网络,并使用Docker文件定义整体的应用程序。这样,用户不需要一遍遍地手动编写Docker代码,以便在本地容器和云容器之间部署应用程序。

所以,Docker Compose是一个优秀的工具,它可以使得开发人员使得容器的部署更加简单,也使得运维人员管理容器的环境更加方便。

二、使用Docker Compose快速构建应用程序

在 CentOS 7 安装 Docker 和 Docker Compose是必要的,执行下面的命令以安装它们。


    #安装Docker
    sudo yum remove docker \
            docker-common \
            container-selinux \
            docker-selinux \
            docker-engine \
            docker-ce
    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    sudo yum-config-manager \
            --add-repo \
            https://download.docker.com/linux/centos/docker-ce.repo
    sudo yum makecache fast
    sudo yum install -y docker-ce
    sudo systemctl enable docker
    sudo systemctl start docker

    # 安装Docker Compose
    sudo yum install -y epel-release
    sudo yum install -y python-pip
    sudo pip install docker-compose

安装完成后,您可以检查Docker和Docker Compose的版本:


    # 查看Docker版本
    docker version
    # 查看Docker Compose版本
    docker-compose version

三、使用Docker Compose 搭建LAMP

在CentOS 7上搭建LAMP(Linux-Apache-MySQL-PHP)环境非常普遍。而使用Docker Compose,搭建LAMP环境变得更加快速和便捷。

1、创建Docker Compose文件:

首先,我们需要在CentOS 7上创建一个Docker Compose文件,该文件将定义LAMP中使用的所有容器。在您的服务器上,创建一个名为 docker-compose.yml 的文件,并在其中添加以下内容:


    version: '2'
    services:
      web:
        image: webdevops/php-apache-dev:${LATEST_TAG:-16.04}
        container_name: web
        ports:
          - "80:80"
        volumes:
          - .:/app:rw,cached
      mysql:
        image: mysql
        container_name: mysql
        ports:
          - "3306:3306"
        environment:
          MYSQL_RANDOM_ROOT_PASSWORD: "yes"
          MYSQL_DATABASE: "lamp"
          MYSQL_USER: "lamp"
          MYSQL_PASSWORD: "lamp"
        volumes:
          - mysql-data:/var/lib/mysql
      phpmyadmin:
        image: phpmyadmin/phpmyadmin
        container_name: phpmyadmin
        ports:
          - "8080:80"
        environment:
          - PMA_HOST=mysql
        volumes:
          - /sessions

    volumes:
      mysql-data:

上面的Docker Compose文件将定义一个包含三个容器的LAMP应用程序。一个用于 Web 的 Apache/PHP 容器(web),一个用于MySQL的容器(mysql)和一个用于管理MySQL的PHPMyAdmin容器(phpmyadmin)。

2、启动容器

在 CentOS 7 上启动 LAMP 环境,请运行以下命令,该命令将使用Docker Compose来启动容器。


    sudo docker-compose up -d

3、检查容器

使用 Docker Compose 启动容器后,您可以使用以下命令检查容器是否正在运行。


    sudo docker ps

4、使用Web容器

Web 容器公开了端口 80,因此你可以通过公网IP地址访问它。要确定 CentOS 7 服务器的 IP,请运行以下命令。


    sudo ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

您可以将服务器的IP地址放入浏览器中,然后在浏览器中访问它:


    http://localhost/

在web容器上挂载了一个数据卷以访问web目录。您可以在web容器中创建你的Web应用程序的文件,并在docker-compose.yml 中进行更改时,所做的更改将反映在您运行的容器上。

四、总结

本文介绍了如何在CentOS 7上使用Docker Compose快速构建应用程序,尤其是使用Docker Compose 搭建LAMP(Linux-Apache-MySQL-PHP)环境。使得您可以快速搭建开发环境,更加方便地进行开发和维护您的应用程序。