没闲着系列 13

image
部署到线上了新的版本.
http://8.136.81.58:3000/
加入了迭代(里程碑),加油用户默认头像,系统设置.
这里加上之前已有的40个账号,已经有8位新朋友进行了注册和体验.
image
加入聊天室里的视频聊天,打算用peerjs做:
image
My peer ID is: bc84a468-e830-460e-bbb5-b3bfdb5beed5
根据peerjs的文档,已经获取自建服务器传回的id,接触到了TURN SERVER和ICE SERVER的概念,
我记得朋友圈加的那位好友是做视频流媒体的,就是类似这种某某会议,
我在想web会议室始终要有一个client建立终端吧?这样在建立完成后就可以建立流媒体通道了.
很值得思考设计的一个地方,总体比Java、Python等语言和一些框架有趣!

今天使用Docker、Docker Compose将项目容器化了.
首先是写一个Dockerfile,当然要启动Docker的后台服务.

FROM python:3.9.9

RUN mkdir /TaskSaas -p

WORKDIR /TaskSaas

ADD ./requirements.txt /TaskSaas
ADD ./ /TaskSaas

RUN cd /TaskSaas
RUN pip install -r requirements.txt


CMD ["python","manage.py","runserver","0:3000"]

[Dockerfile]
大家看过没闲着系列的都知道我这个项目叫TaskSaas,这里的Dockerfile结合了极客时间的《Springboot与k8s云原生微服务实践》课程和几篇不错的博客进行了填充,大部分来自cnblogs.com,我这里大概记录下这个文件的作用:
执行一个docker镜像python3.9.9,执行相关的shell命令,比如创建文件夹TaskSaas,设置工作空间,将依赖txt挪到TaskSaas文件夹,将项目挪到新的/TaskSaas文件夹,切换到TaskSaas目录,执行依赖下载,执行CMD命令跑django项目,但是只有这个还是不行的,因为需要对接一个mysql,这里要用到docker-compose:

version: '3'

services:
  web:
    build: ./
    restart: always
    command: python manage.py runserver 0.0.0.0:3000
    volumes:
      - /TaskSaas
    ports:
      - "3000:3000"
    depends_on:
      - db
  db:
    image: mysql:latest
    restart: always
    container_name: db
    command:
      --max_connections=1000
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --default-authentication-plugin=mysql_native_password
    ports:
      - 3306:3306
    volumes:
      - /opt/homebrew/bin/mysql
      - ./mysql/data:/var/lib/mysql
      - ./mysql/config/my.cnf:/etc/mysql/my.cnf
    environment:
      - MYSQL_DATABASE=tasksaas
      - MYSQL_ROOT_PASSWORD=********

[docker-compose.yml]
在这个文件里面加入的db,其中的image就是容器的mysql.

其余:

单独执行Dockerfile的:

打包dockerfile相关

docker build . -t tag -f Dockerfile 

同上,但设置了镜像名称tasksaas以及指定了版本1.0

docker build . -t tasksaas:1.0 -f Dockerfile 

执行统一docker-compose:

docker-compose up -d

因为我compose配置了web和db,执行success会输出:

[+] Running 2/2
 ⠿ Container db              Running                                                                                                                                                            0.0s
 ⠿ Container tasksaas-web-1  Started

docker学习路线
docker-compose学习路线

实际docker-compose文件又增加了redis,最后通过测试,在gitee打了tag.整体来说,在容器化的改造中,
感觉使用基础的docker、docker-compose还是比较简单的.
ok.

posted @ 2024-01-11 18:41  ukyo--碳水化合物  阅读(18)  评论(0)    收藏  举报