美文网首页
docker-compose

docker-compose

作者: 晓函 | 来源:发表于2022-03-29 16:59 被阅读0次

这次我们写一个spider app,需要python3.8+redis,两个容器一起组合使用

docker-compose可以把多个容器组合起来使用,并且容器之间实现互通

首先创建主要app的dockerfile

FROM python:3.8
WORKDIR /code
 
COPY requirements.txt ./
RUN pip install -r requirements.txt

#由于我们需要运行容器的时候,直接映射目录,所以不需要把app代码复制到容器中
#COPY . .
 
#-u参数python才会正常显示print打印日志
CMD ["python", "-u", "/code/main.py"]

接着创建docker-compose.yml配置脚本

version: '3.9'

#compose会自动为所有service搭建在同一个network,这样相互就可以通信了,还可以使用别名通信,比如connent(redis:6379)
services:
  spider:
    build: . # 指定 Dockerfile 所在路径
    volumes:
      #- /var/www/DiscountSpider:/code
      - .:/code #当前目录映射到code(开发时使用)
    environment:
      - TZ=Asia/Shanghai

  redis:
    image: redis:5.0.13
    environment:
      - TZ=Asia/Shanghai

跑起来

最后从当前目录终端启动,Mac可以对着文件夹右键,服务,从当前文件夹创建终端,Debian之类的还是cd到所在目录

#debug时使用,可以直接看到打印的日志
docker-compose up
#生成环境需要后台启动,加-d
docker-compose up -d

修改

如果你修改了dockerfile,需要重新编译,则

docker-compose up --build
image.png

相关文章

网友评论

      本文标题:docker-compose

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