制作一个中,日和英互译的docker镜像;学习Dockerfile文件编写;学习谷歌MT5翻译模型

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


任务

使用docker,conda做一个中文,英文,日文相互翻译的rest服务;

一、使用工具

  1. docker
  2. conda (continuumio/anaconda3)
  3. pytouch 和 transformers

二、Dockerfile编写

1.内容

如下:

FROM continuumio/anaconda3

MAINTAINER YaoCai<lin1993@outlook.com>

# 1 =========== 拷贝 =============
# 本地conda的transformer-server环境
COPY transformer-server/ /opt/conda/envs/transformer-server/
# 下载好的mt5模型
COPY K024/ /usr/local/py/K024/
#  自己写的flask rest服务
COPY mt5.py /usr/local/py/mt5.py

# 2 ============ 环境配置
ENV PATH /opt/conda/envs/transformer-server/bin:$PATH
ENV CONDA_DEFAULT_ENV transformer-server

# 这句应该可以不用
RUN conda init bash

# 3 指定环境运行
SHELL ["conda", "run", "-n", "transformer-server", "/bin/bash", "-c"]

# 4 指定 mt5.py 中的输出端口号
EXPOSE 5002
# CMD ["python3", "/usr/local/py/mt5.py"]
# 5 运行 mt5.py 脚本 并保存日志文件
CMD ["nohup", "python3", "/usr/local/py/mt5.py", ">>", "/usr/local/py/restful.log", "2>&1", "&", "&&","tail","-100f","/usr/local/py/restful.log"]

2.遇到的问题

  1. 在docker中指定 conda环境运行。解决:可以通过配置 上面dockerfile的 2和3解决。
  2. Dockerfile COPY命令运行时找不到文件。 解决:将文件或文件夹拷贝到和Dockerfile同一个目录。

3.最终运行情况

     1. 生成docker镜像文件

docker run -d -p 5002:5002 mt5-translater

    2.运行docker容器

docker run -d -p 5002:5002 mt5-translater


总结

第一次编写Dockerfile,并生成可用的镜像,最终能够做到 中,日,英 三种语言相互翻译;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值