环境
外层: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
网友评论