linux - 在 Docker 文件中使用 linux 命令并在 windows 上构建
问题描述
我是 Docker 的初学者,我在这里遇到了一个情况。我的 docker 文件看起来像这样。
FROM python:3.6-alpine
#Copy contents
COPY . /srv/flask_app
WORKDIR /srv/flask_app
#Get essentials to base image
RUN apt-get clean \
&& apt-get -y update
RUN apt-get -y install nginx \
&& apt-get -y install python3-dev \
&& apt-get -y install build-essential
RUN pip install -r requirements.txt --src /usr/local/src
COPY nginx.conf /etc/nginx
RUN chmod +x ./start.sh
CMD ["./start.sh"]
当我试图在 Windows 上构建 docker 文件时,它给了我一个错误,说找不到 Linux 命令。如何在 Windows 上构建特定于 Linux 的 docker?
解决方案
你在alpine
,你应该用apk
不apt-get
。
apt-get
是Debian
基础系统的包管理。
您还可以更改基本映像,然后不需要更改任何命令:
FROM python:3.6-buster
推荐阅读
- python - Tkinter 甚至不能调用一个简单的“按钮”
- java - JavaFX LineChart 中使用的静态方法 positioninArea 是什么?
- ruby - 如何根据索引从 each_with_index 内的数组中打印内容?
- reactjs - 在 React 中,我正在处理 CRUD 表单,如何将数据传递给子组件并在父组件中更新?
- android - Android gradle plugin v3.3.0 -> 使用 proguard 时找不到 R$raw
- 3d - 如何根据 x 和 y 位置手动旋转 3D 球体?
- java - 不使用 BufferedOutputStream 写入文件
- overriding - ExtJs 6.2.1 经典约束来自 RoweditPlugin 的 POST 功能
- azure-devops - Azure Service Fabric 部署错误:连接终结点上指定的端口“-1”与默认客户端连接终结点不匹配
- java - 抛出异常时缺少错误响应主体 @Around("@RequestMapping")