安装docker-compose
[root@node1 ~]# curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
[root@node1 ~]# chmod +x /usr/local/bin/docker-compose
[root@node1 ~]# ll /usr/local/bin/docker-compose
[root@node1 harbor]# docker-compose --version
创建相对应的文件和目录
[root@localhost ~]# tree lamp
lamp
├── apache
├── docker-compose.yml
└── php
└── Dockerfile
2 directories, 2 files
编写php的Dockerfile文件
[root@localhost ~]# vim lamp/php/Dockerfile
FROM php:7.0-fpm
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng-dev \
libmemcached-dev \
zlib1g-dev \
libcurl4-openssl-dev \
libxml2-dev \
--no-install-recommends && rm -rf /var/lib/apt/lists/* \
&& docker-php-ext-install -j$(nproc) \
iconv mcrypt gettext curl mysqli pdo pdo_mysql zip \
mbstring bcmath opcache xml simplexml sockets hash soap \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd
CMD ["php-fpm", "-F"]
编写docker-compose.yml
[root@localhost ~]# vim lamp/docker-compose.yml
version: "3"
services:
mysql:
hostname: mysql
restart: always
image: mysql:5.6
container_name: mysql
ports:
- "3306:3306"
volumes:
- mysql-config:/etc/mysql
- mysql-log:/var/log/mysql
- mysql-data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_USER: user
MYSQL_PASSWORD: user123
php:
hostname: php
restart: always
container_name: php
build:
context: ./php
dockerfile: Dockerfile
ports:
- "9000:9000"
links:
- mysql:mysql
volumes:
- php-config:/usr/local/etc
apache:
hostname: httpd
restart: always
container_name: httpd
image: phsama/httpd:v0.2
ports:
- "80:80"
- "443:443"
volumes:
mysql-config:
mysql-log:
mysql-data:
php-config:
apache-config:
apache-log:
apache-html:
启动服务
[root@hfnt compose_lnmp]# docker-compose up -d
Creating network "compose_lnmp_default" with the default driver
Creating volume "compose_lnmp_mysql-config" with default driver
Creating volume "compose_lnmp_mysql-log" with default driver
```
重启
[root@hfnt compose_lnmp]# docker-compose restart