🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] > docker能解决测试、开发、正式服务器运营等不同角色保持相同的环境,这样能解决因为环境不同引发的问题。 > 也可以拿来做普通的虚拟机来玩,因为轻量级的,所以很好使用。 ## 简易安装 > 1. git pull “docker-nginx” from gitee.com ,windows下将“docker-nginx配置环境”放在c:/users/xx下 > 2. 安装PHP ``` docker run --name myphp -d \ -v /c/Users/husilu/docker-nginx/www/default:/var/www/html \ -v /c/Users/husilu/docker-nginx/php/php.ini:/usr/local/etc/php/php.ini:ro \ wangking717/myphp:0.1 ``` > 3. 安装NGINX ``` docker run --name mynginx \ -d -p 81:81 \ -v /c/Users/husilu/docker-nginx/www/default:/usr/share/nginx/html \ -v /c/Users/husilu/docker-nginx/nginx/nginx.conf:/etc/nginx/nginx.conf:ro \ -v /c/Users/husilu/docker-nginx/nginx/conf.d:/etc/nginx/conf.d \ -v /c/Users/husilu/docker-nginx/logs:/var/log/nginx \ --link myphp:php \ nginx:1.14.0 ``` ## 简易安装的实现过程 ### 1. 创建本地目录 |-- logs |-- nginx | | | -- conf.d | | | | | -- default.conf | | | -- nginx.conf |-- php | | | -- php.ini | -- www | | | | -- default ### 2. Php ``` docker run --name myphp -d php:7.2-fpm docker cp myphp:/usr/local/etc/php/php.ini-production . 转移到 /docker/php/php.ini docker stop myphp && docker rm myphp docker run --name myphp -d \ -v /c/Users/husilu/docker-nginx/www/default:/var/www/html \ -v /c/Users/husilu/docker-nginx/php/php.ini:/usr/local/etc/php/php.ini:ro \ php:7.2-fpm ``` ### 3. 为PHP容器增加扩展 > 1)登录进入php容器 ``` docker exec -it myphp /bin/bash ``` > 2)安装php扩展 ``` apt-get update && apt-get install -y \ libfreetype6-dev \ libjpeg62-turbo-dev \ libpng-dev \ && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \ && docker-php-ext-install -j$(nproc) gd \ && docker-php-ext-install zip \ && docker-php-ext-install pdo_mysql \ && docker-php-ext-install mysqli \ && rm -r /var/lib/apt/lists/* ``` > 3)exit退出容器 ``` exit 或 Ctrl + C ``` > 4)提交容器的修改 ``` docker commit myphp myphp:0.1 ``` > 5)注册一个https://hub.docker.com,用户名为wangking717,创建一个repo为myphp > 6)docker命令符里输入“docker login”,输入用户名和密码 > 7)打标签(必须是wangking717/开头的才可以) ``` docker tag myphp:0.1 wangking717/myphp:0.1 ``` > 8)上传 ``` docker push wangking717/myphp:0.1 ``` ### 4. Nginx ``` docker run --name mynginx \ -d -p 81:81 \ -v /c/Users/husilu/docker-nginx/www/default:/usr/share/nginx/html \ -v /c/Users/husilu/docker-nginx/nginx/nginx.conf:/etc/nginx/nginx.conf:ro \ -v /c/Users/husilu/docker-nginx/nginx/conf.d:/etc/nginx/conf.d \ -v /c/Users/husilu/docker-nginx/logs:/var/log/nginx \ --link myphp:php \ nginx:1.14.0 ``` ## 参考资料 > https://www.awaimai.com/2120.html