美文网首页
docker实现本地LAMP

docker实现本地LAMP

作者: BL觉醒 | 来源:发表于2018-01-26 11:03 被阅读0次

    环境
    外层: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

          本文链接:https://www.haomeiwen.com/subject/jzpiaxtx.html