Dockerfile 相关问题

  1. 使用ubuntu镜像时,dockerfile里面用apt命令会报错(虽然一般情况下会运行成功,但是有报错信息),最好用apt-get
  2. 我尝试直接用清华源替换ubuntu源,结果报错了,需要安装ca-certificates包才能正常替换,但是直接安装这个包也会报错,所以还要先apt-get update一下才行,最后的Dockerfile模板在下面
  3. CMD命令后面不要加 &,以前习惯命令后面加&让程序后台运行,写dockerfile习惯性的加上了之后,每次docker run程序都是秒退,后来发现是程序后台运行,导致docker以为程序执行完了,所以退出。。
  4. COPY 命令会默认吧文件夹内文件复制到指定位置,而不是把文件夹复制进去
|-- root_dir
|---- test_dir
|------- file1
|------- file2

在root_dir 下执行docker build,使用./*的时候,复制结果可能不是我们想要的,所以复制当前文件夹就直接用./

COPY ./* /app/
# ./* 结果
|-- app
|------- file1
|------- file2

COPY ./  /app/

|-- app
|---- test_dir
|------- file1
|------- file2

自用模板

第一个apt-get update浪费了大量时间,不知道有什么好的办法没

FROM ubuntu

COPY ./ /app/

RUN cd /app \
    && apt-get update \
    && apt-get install -y ca-certificates \
    && cp ./sources.list /etc/apt/ \
    && apt-get update \
    && apt-get install -y openjdk-8-jdk-headless \
    && apt-get install -y python3 python3-pip \
    && pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

CMD cd /app \
    && uvicorn main:app --reload --port 5001 --workers 1 --host 0.0.0.0

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容