我是Docker的新手,我试图创建一个docker映像并使用docker容器,所以我做了以下事情:
我的Dockerfile是:
## Limit Riyadh schools only to schools teaching both genders
two_gender_schools <- filter(riyadh_scores, school_name == "",
gender == "male", gender == "female")
我的dockerCompose文件是:
FROM ubuntu:16.04
# # Front stack
# RUN apt-get install -y npm && \
# npm install -g @angular/cli
FROM python:3.6
RUN apt-get update
RUN apt-get install -y libpython-dev curl build-essential unzip python-dev libaio-dev libaio1 vim
rpm2cpio cpio python-pip dos2unix
RUN mkdir /code
COPY ./requirements.txt /code/requirements.txt
RUN pip install -r /code/requirements.txt
RUN pip install --upgrade pip
COPY . /code/
WORKDIR /code
ENV PYTHONPATH=/code/py_lib
CMD ["bash", "-c", "tail -f /dev/null"]
我执行了以下命令:
docker build。 -f Dockerfile
码头工人图像
docker-compose up
这给了我一个错误:
version: '3.5'
services:
testsample:
image: toto/test-sample
restart: unless-stopped
env_file:
- .env
command: bash -c "pip3 install -r requirements.txt && tail -f /dev/null"
# command: bash -c "tail -f /dev/null"
volumes:
- .:/code
我尝试了docker登录并能够连接。
那会导致什么问题呢?
答案 0 :(得分:1)
在使用如下所示的docker文件构建docker映像时,必须提供标签名称:
docker build -t toto/test-sample -f Dockerfile .
-t这里是标签名称 -f用来告诉Dockerfile的名称(在这种情况下,它是可选的,因为Dockerfile是默认名称)
答案 1 :(得分:1)
如果将Dockerfile
与docker-compose.yml
文件放在同一目录中,则可以执行以下操作:
version: '3.5'
services:
testsample:
image: toto/test-sample
build:
context: .
dockerfile: Dockerfile
restart: unless-stopped
env_file:
- .env
volumes:
- .:/code
然后,做:
docker-compose up --build -d
否则,如果仅在构建图像时遇到问题,则只需执行以下操作:
docker build -t toto/test-sample .
答案 2 :(得分:0)
build命令应为:
docker build -t toto/test-sample .