镜像仓库管理

创建阿里云镜像仓库

在阿里云控制台中依次选择容器镜像服务、实例列表、镜像仓库,创建镜像仓库。创建时第二步可以不选择代码源,选择本地仓库即可。
image.png

上传本地镜像

创建完镜像仓库,可以在仓库实例中查看到相关的操作指南

  1. 登陆

    1. sudo docker login --username=starrysky9959 registry.cn-shanghai.aliyuncs.com
  2. docker tag 标记本地镜像,将其归入某一仓库

    1. sudo docker tag e667d4fcdd11 registry.cn-shanghai.aliyuncs.com/starrysky9959/docker-repository:nre-backend-v1
  3. 将镜像推送到Registry

    1. sudo docker push registry.cn-shanghai.aliyuncs.com/starrysky9959/docker-repository:nre-backend-v1

    云服务器从Registry拉取镜像

    1. sudo docker pull registry.cn-shanghai.aliyuncs.com/starrysky9959/docker-repository:nre-backend-v1

    启动容器

    根据具体的容器执行相应的启动指令。注意在云服务器安全组规则中开放相关的端口。

    参考链接

    Python Flask

    生成requirements.txt

    安装 pipreqs ,生成 requirements.txt 。这个比自带的 pip freeze 更友好。
    官网:https://pypi.org/project/pipreqs/

    1. pip install pipreqs
    2. pipreqs ./

    如果遇到编码问题,可以指定文件编码。

    1. pipreqs ./ --encoding=utf-8

    生成镜像

    编写 Dockerfile

    1. FROM python:3.8
    2. WORKDIR /Projects/nre
    3. COPY ./ ./
    4. RUN pip --default-timeout=100 install --upgrade -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --no-cache-dir
    5. RUN pip --default-timeout=100 install torch==1.8.1+cpu -i https://mirrors.aliyun.com/pypi/simple/ -f https://download.pytorch.org/whl/torch_stable.html --no-cache-dir
    6. EXPOSE 5000
    7. CMD ["python", "main.py"]

    构建镜像

    1. docker build -t nre-backend:v1 .

    启动容器

    1. docker run -itd -p 5000:5000 nre-backend:v1

    参考链接

    前端 React

    项目打包

    package.json 中最外层添加以下条目。

    1. "homepage": ".",

    yarn 为例。

    1. yarn build

    生成镜像

    编写 Dockerfile 。将打包生成的文件放到 nginx 默认的静态资源目录下。

    1. FROM nginx
    2. COPY ./build/ /usr/share/nginx/html/

    构建镜像

    1. docker build -t nre-frontend:1.0 .

    启动容器

    1. docker run -itd -p 88:80 8bcaaa49c644

    参考链接