docker实现本地LAMP

环境
外层:win7主机
中层:PHP+Apache服务器10.0.108.84;Mysql服务器
内层:apache服务器容器

共享文件夹连续映射:
外层D:/project目录映射到中层/var/www/html/project目录,再映射到内层/var/www/html/目录。

1.安装docker

2.登录镜像仓库
docker login registry.8dat.com -u Apirobot1 -p Apirobot1或
docker login registry.8dat.com -u robot -p Robot2017

2.拉取apache+php容器,并把ubuntu目录/var/www/html/project映射进容器内的/var/www/html。

docker run -i -t -v /var/www/html/project/:/var/www/html --privileged=true -d -p 80:80 registry.8dat.com/library/php:5.6-apache-mcrypt
-d:在后台运行容器。
-it: 交互登录容器
-v: 挂载宿主机的一个目录,冒号":"前面的目录是宿主机目录,后面的目录是容器内目录。

3.用bash登录进容器内
docker exec -it $ContainerID /bin/bash

4.查看docker log
journalctl -u docker

5.内层ping中层的Mysql服务器失败,表明容器无法连接中层网络。
解决办法:容器所在的主机上安装Mysql。
编辑docker-compose.yaml,运行 docker-compose up -d 就起来了。
docker-compose.yaml(Mysql+PHPmyadmin):
version: '2'

services:
pma:

image: phpmyadmin/phpmyadmin

environment:

PMA_HOST: mysql

PMA_USER: root

PMA_PASSWORD: root

PMA_PORT: 3306

links:
- mysql:mysql

ports:
- 8098:80/tcp

restart: always

mysql:

image: mariadb

environment:

MYSQL_ROOT_PASSWORD: root

volumes:
- ./datadir:/var/lib/mysql

ports:
- 3306:3306

expose:
- "3306"

command:
- --character-set-server=utf8mb4

    - --collation-server=utf8mb4_unicode_ci

restart: always

6.localhost:8098 登录phpmyadmin
localhost:3306 登录mysql

你可能感兴趣的:(docker实现本地LAMP)