一、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)環境。使得您可以快速搭建開發環境,更加方便地進行開發和維護您的應用程序。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/280698.html