资讯专栏INFORMATION COLUMN

docker笔记2---docker-nginx-php-mysql使用记录

huhud / 2054人阅读

摘要:代码托管准备工作先安装好软件删除所有容器和镜像代码克隆在上到自己的库中导入到码云中还是码云上快看下有哪些文件

docker-nginx-php-mysql代码托管

准备工作

</>复制代码

  1. 先安装好软件: git,     docker,    docker-compose

删除所有容器和镜像

</>复制代码

  1. $ docker stop $(docker ps -q) && docker rm $(docker ps -aq)
  2. $ docker rmi $(docker images -q)
01:代码克隆

在github上fork到自己的库中

导入到码云中

</>复制代码

  1. //vagrant@qianjin:~$ git clone https://github.com/nanoninja/docker-nginx-php-mysql.git
  2. // 还是码云上快
  3. $ abcd@bogon:/var/www/qianjin$ git clone https://gitee.com/advance/docker-nginx-php-mysql.git && sudo mv docker-nginx-php-mysql/ 20180930/
  4. // 看下有哪些文件
  5. //vagrant@qianjin:~$ cd docker-nginx-php-mysql
  6. //vagrant@qianjin:~/docker-nginx-php-mysql$ tree
  7. abcd@bogon:/var/www/qianjin$ cd 20180930 && tree
  8. .
  9. ├── doc
  10. │   ├── configure-cacert-for-local-macosx.md
  11. │   ├── images
  12. │   │   ├── cacert-1-warning.png
  13. │   │   ├── cacert-2-open-keychain.png
  14. │   │   ├── cacert-3-add-cacert-file-import.png
  15. │   │   ├── cacert-4-locate-cert.png
  16. │   │   ├── cacert-5-set-to-always-trust.png
  17. │   │   ├── cacert-6-reload-page.png
  18. │   │   ├── ps-mac-php-cli-add-interpreter.png
  19. │   │   ├── ps-mac-php-interpreter.png
  20. │   │   ├── ps-mac-php-phpunit-config.png
  21. │   │   ├── ps-mac-php-phpunit-demo.png
  22. │   │   ├── ps-mac-php-phpunit.png
  23. │   │   ├── ps-mac-php-xdebug-demo.png
  24. │   │   ├── ps-mac-php-xdebug.png
  25. │   │   ├── ps-mac-php-xdebug-proxy.png
  26. │   │   └── ps-mac-php-xdebug-server.png
  27. │   └── phpstorm-macosx.md
  28. ├── docker-compose.yml
  29. ├── etc
  30. │   ├── nginx
  31. │   │   ├── default.conf
  32. │   │   └── default.template.conf
  33. │   └── php
  34. │   └── php.ini
  35. ├── Makefile
  36. ├── README.md
  37. └── web
  38. ├── app
  39. │   ├── composer.json.dist
  40. │   ├── phpunit.xml.dist
  41. │   ├── src
  42. │   │   └── Foo.php
  43. │   └── test
  44. │   ├── bootstrap.php
  45. │   └── FooTest.php
  46. └── public
  47. └── index.php
代码修改

.env中

代码拷贝处理

vagrant@qianjin:~/docker-nginx-php-mysql$ cp web/app/composer.json.dist web/app/composer.json

up

</>复制代码

  1. vagrant@qianjin:~/docker-nginx-php-mysql$ sudo docker-compose up -d

up过程记录

</>复制代码

  1. vagrant@qianjin:~/docker-nginx-php-mysql$ sudo docker-compose up -d
  2. // 使用默认的驱动创建网络
  3. Creating network "docker-nginx-php-mysql_default" with the default driver
  4. //服务 php
  5. Pulling php (nanoninja/php-fpm:latest)...
  6. latest: Pulling from nanoninja/php-fpm
  7. e7bb522d92ff: Pull complete
  8. 75651f247827: Pull complete
  9. dbcf8fd0150f: Pull complete
  10. de80263f26f0: Pull complete
  11. 4cbd879bcaec: Pull complete
  12. 5d2b7aa2544b: Pull complete
  13. 59faa2f7b345: Pull complete
  14. 1a363d08f38a: Pull complete
  15. 544057eb652d: Pull complete
  16. 8bb691f94a43: Pull complete
  17. e2eb2ce681bb: Pull complete
  18. Digest: sha256:e9bc64908e5324e361fb875025111adbd5ba668cff0a8476b5e541177bc25889
  19. Status: Downloaded newer image for nanoninja/php-fpm:latest
  20. //服务 composer
  21. Pulling composer (composer:)...
  22. latest: Pulling from library/composer
  23. c67f3896b22c: Pull complete
  24. 88777455d910: Pull complete
  25. 955e2028dd61: Pull complete
  26. 7d47ce93cc1f: Pull complete
  27. db3780f51b99: Pull complete
  28. 28db5a4e528c: Pull complete
  29. 1ea3e552f254: Pull complete
  30. 280d419dafce: Pull complete
  31. 9d23cdaa3043: Pull complete
  32. 6de5c1e960b6: Pull complete
  33. c4421176aec0: Pull complete
  34. 78a2d4d305a7: Pull complete
  35. 290c319347c7: Pull complete
  36. 51a9f3b40d22: Pull complete
  37. 5ca8f0d296e8: Pull complete
  38. Digest: sha256:31c3d9c8ae82992c1cd724c9812e057d2a8c8c6b49b86d5f1021060bc96ea004
  39. Status: Downloaded newer image for composer:latest
  40. //服务 mysqldb
  41. Pulling mysqldb (mysql:5.7.22)...
  42. 5.7.22: Pulling from library/mysql
  43. be8881be8156: Pull complete
  44. c3995dabd1d7: Pull complete
  45. 9931fdda3586: Pull complete
  46. bb1b6b6eff6a: Pull complete
  47. a65f125fa718: Pull complete
  48. 2d9f8dd09be2: Pull complete
  49. 37b912cb2afe: Pull complete
  50. 79592d21cb7f: Pull complete
  51. 00bfe968d82d: Pull complete
  52. 79cf546d4770: Pull complete
  53. 2b3c2e6bacee: Pull complete
  54. Digest: sha256:aaba540cdd9313645d892f4f20573e8b42b30e5be71c054b7befed2f7da5f85b
  55. Status: Downloaded newer image for mysql:5.7.22
  56. //服务 myadmin
  57. Pulling myadmin (phpmyadmin/phpmyadmin:)...
  58. latest: Pulling from phpmyadmin/phpmyadmin
  59. 911c6d0c7995: Pull complete
  60. 2527cc05836d: Pull complete
  61. 3299172a2d6d: Pull complete
  62. 05782106624f: Pull complete
  63. 3e3261543ec8: Pull complete
  64. ce1c845d4246: Pull complete
  65. e005e70f55dc: Pull complete
  66. 84403a106e16: Pull complete
  67. e4fc13f7949f: Pull complete
  68. 2a53e72ea7b9: Pull complete
  69. d791f6b71f27: Pull complete
  70. 576bdfd7cc75: Pull complete
  71. 20768032f0fb: Pull complete
  72. fc8aa3d46064: Pull complete
  73. bade7affffd704: Pull complete
  74. 4b30a4dd0b24: Pull complete
  75. b02d6e91d2b5: Pull complete
  76. Digest: sha256:6fa491d4e3994ab3ec3410409bf0d59436072df1cfb16b8fe25c47486988103f
  77. Status: Downloaded newer image for phpmyadmin/phpmyadmin:latest
  78. ////服务 web
  79. Pulling web (nginx:alpine)...
  80. alpine: Pulling from library/nginx
  81. c67f3896b22c: Already exists
  82. 89df19b7dc5c: Pull complete
  83. c34d3c110d67: Pull complete
  84. 9ac8b8076c62: Pull complete
  85. Digest: sha256:829a63ad2b1389e393e5decf5df25860347d09643c335d1dc3d91d25326d3067
  86. Status: Downloaded newer image for nginx:alpine
  87. // 5个容器的名字,mysql和phpmyadmin是在docker-compose.yml中使用container_name:指定的名字,另外三个是自动生成的,都是xxx_服务名_1
  88. Creating docker-nginx-php-mysql_php_1 ... done
  89. Creating docker-nginx-php-mysql_composer_1 ... done
  90. Creating mysql ... done
  91. Creating phpmyadmin ... done
  92. Creating docker-nginx-php-mysql_web_1 ... done
  93. 先来分析下5个服务web,php,composer,myadmin,mysqldb,从depends_on来看,web依赖于php和mysqldb,myadmin依赖于mysqld
  94. 那么现在顺序应该是php,composer,mysqldb,web,myadmin,但实际上是web在最后
  95. afbe19d5a2a9 nginx:alpine "/bin/sh -c "envsubst "$NGINX_HOST" < /etc/nginx/conf.d/default.template > /etc/nginx/conf.d/default.conf && nginx -g "daemon off;""" 16 minutes ago Up 16 minutes 0.0.0.0:8000->80/tcp, 0.0.0.0:3000->443/tcp docker-nginx-php-mysql_web_1
  96. c3fce36d9225 phpmyadmin/phpmyadmin "/run.sh supervisord -n" 16 minutes ago Up 16 minutes 9000/tcp, 0.0.0.0:8080->80/tcp phpmyadmin
  97. 0251b4e667d2 nanoninja/php-fpm:latest "docker-php-entrypoint php-fpm" 16 minutes ago Up 16 minutes 9000/tcp docker-nginx-php-mysql_php_1
  98. dbce5f6af8fc composer "/bin/sh /docker-entrypoint.sh install" 16 minutes ago Up 16 minutes docker-nginx-php-mysql_composer_1
  99. 7c0f691cbb04 mysql:5.7.22 "docker-entrypoint.sh mysqld" 16 minutes ago Up 16 minutes 0.0.0.0:8989->3306/tcp mysql
  100. 有关<和>的用法参考: https://blog.csdn.net/zh515858237/article/details/79218176
  101. 容器完整id(64位): afbe19d5a2a996b6ef5d64afb0087d9df151eea6f67604d059c943d63008a970
  102. 截取显示(12位): afbe19d5a2a9
down

</>复制代码

  1. vagrant@qianjin:~/docker-nginx-php-mysql$ sudo docker-compose down
测试

http://192.168.10.10:8080 (vagrant工作环境)正常
http://127.0.0.1
http://192.168.10.10:8000/ 有错误Warning: include(../app/vendor/autoload.php): failed to open stream: No such file or directory in /var/www/html/public/index.php on line 3,得进入容器进行修改
分析docker-compose.yaml

</>复制代码

  1. services:
  2. web:
  3. volumes:
  4. - "./web:/var/www/html"

宿主机的web目映射到容器的/var/www/html,进入容器

</>复制代码

  1. vagrant@qianjin:~/docker-nginx-php-mysql$ docker exec -it afbe19d5a2a9 /bin/sh
  2. ~ # cd /var/www/html/app
  3. /var/www/html/app # ls
  4. composer.json composer.json.dist composer.lock phpunit.xml.dist src test vendor
  5. // 修改宿主机中的
  6. vagrant@qianjin:~/docker-nginx-php-mysql/web/public$ sudo vim index.php
  7. //index.php的内容改为如下,现在ok
  8. Docker <span class="php"><span class="hljs-meta"><?php</span> <span class="hljs-keyword">echo</span> $foo->getName(); <span class="hljs-meta">?></span></span>
  9. Docker getName(); ?>

https://github.com/yeszao/dnmp
使用记录,这个up的时间比较长,约8分30秒

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40110.html

相关文章

  • docker笔记2---docker-nginx-php-mysql使用记录

    摘要:代码托管准备工作先安装好软件删除所有容器和镜像代码克隆在上到自己的库中导入到码云中还是码云上快看下有哪些文件 docker-nginx-php-mysql代码托管 准备工作 先安装好软件: git,     docker,    docker-compose 删除所有容器和镜像 $ docker stop $(docker ps -q) && docker rm $(docker p...

    lewif 评论0 收藏0
  • docker笔记2---docker-nginx-php-mysql使用记录

    摘要:代码托管准备工作先安装好软件删除所有容器和镜像代码克隆在上到自己的库中导入到码云中还是码云上快看下有哪些文件 docker-nginx-php-mysql代码托管 准备工作 先安装好软件: git,     docker,    docker-compose 删除所有容器和镜像 $ docker stop $(docker ps -q) && docker rm $(docker p...

    AaronYuan 评论0 收藏0
  • Docker之laradock使用笔记

    摘要:使用笔记写在前面最近用上了来搭建环境和开发一个的项目,也顺带学习使用。关于的学习,请移步官方文档数据库连接的问题今天踩了一个数据库连接的坑,记录之。 laradock 使用笔记 写在前面 最近用上了laradock来搭建环境和开发一个laravel5.5的项目,也顺带学习使用docker。 关于laradock的学习,请移步官方文档 mysql数据库连接的问题 今天踩了一个数据库连接的...

    instein 评论0 收藏0

发表评论

0条评论

huhud

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<