Featured image of post Docker 和Docker-Compose 的入门使用

Docker 和Docker-Compose 的入门使用

入门学习 Docker, 进入云时代

Docker

  • 我们可以通过命令直接拉取一个镜像(以nginx为例)
  • docker pull nginx

Dockerfile

  • 其实就是一个文本文件,描述了一个镜像是如何构建的
  • 我们写好了Dockerfile执行docker build就可以根据书写的内容构建镜像
  • 构建好的镜像可以推到仓库,常用的是官方仓库DockerHub

Docker Compose

  • Docker构建服务的时候喜欢细分, 这样子管理方便,环境变化的时候也只需要构建变化的(对比全部构建在一个容器里面)

初学

  • docker pull php-fpm然后可以直接在这个容器里运行aptdocker-php-ext-enable等命令
  • 其实是php-fpm这个镜像是基于Ubuntu系统构建,至于有什么其它命令可用,可查看php-fpmDockerfile构建过程

LaraDock 踩坑日记

  • 直接在php-worker进程无法写日志到项目,最好写到redis

laradock 使用 php-worker 配置 supervisor

  • php-worker这个容器是没有bash的, 也就是无法像其它容器一样进去执行bash命令
  • 当你启动了php-worker容器后里面的supervisord就会自动根据配置去保活进程(即command参数所设置的那个命令)
  • 添加或修改supervisord配置文件后要重构容器再启动才能生效, 即docker-compose build php-worker && docker-compose up -d php-worker
  • 如果你的队列驱动是redis, 那么也要在php-worker容器安装它, .env文件PHP_WORKER_INSTALL_REDIS=true