从dockerfile建立docker图像

时间:2015-11-18 05:37:03

标签: docker

这是我在终端中建立图像的命令,sudo docker build -t actinbox3.2:latest

我收到此错误

" Step 0 : FROM iamdenmarkcontrevida/base
        Pulling repository iamdenmarkcontrevida/base
        INFO[0020] Repository not found"

Dockerfile

    # Dockerfile for base image of actInbox
    FROM iamdenmarkcontrevida/base

    MAINTAINER Denmark Contrevida<DMcontrevida@gmail.com>


    # Config files
    COPY config /actinbox_config/
    COPY script /actinbox_script/
    COPY database /actinbox_db/

    # Config pyenv
    RUN echo 'export PYENV_ROOT="/root/.pyenv"' >> /root/.bashrc && \
        echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> /root/.bashrc && \
        echo 'eval "$(pyenv init -)"' >> /root/.bashrc && \
    # Config Nginx
        rm /etc/nginx/sites-enabled/default && \
        ln -s /actinbox_config/actinbox.conf /etc/nginx/sites-enabled/actinbox.conf && \
    # Config PostgreSQL
        rm /etc/postgresql/9.3/main/pg_hba.conf && \
        ln -s /actinbox_config/pg_hba.conf /etc/postgresql/9.3/main/pg_hba.conf && \
    # Create DB & Restore database
        sh /actinbox_config/create_db_actinbox.sh && \
    # Delete template folder
        rm -r /actinbox_db/

基础中的Mydockerfile

actInbox基础映像的Dockerfile

    FROM ubuntu:14.04

    MAINTAINER Denmark Contrevida<DMcontrevida@gmail.com> 

    # Base services
    RUN apt-get update && apt-get install -y \
        git nginx postgresql postgresql-contrib

    # Install Pyenv, Python 3.x, django, uWSGI & psycopg2
    COPY config/install_pyenv.sh /tmp/install_pyenv.sh
    RUN sh /tmp/install_pyenv.sh

请帮帮我或任何想法为什么我得到这个错误?我在码头中心有一个账号...........

提前谢谢!

4 个答案:

答案 0 :(得分:3)

基本上,它无法在dockerhub中找到iamdenmarkcontrevida/base图像。

您是否构建/推送基本图像?

docker build .
docker tag <local-image-id> iamdenmarkcontrevida/base:latest
docker push iamdenmarkcontrevida/base

答案 1 :(得分:0)

如果您只需要在本地运行它,则无需推送。

因此,您需要先构建基本映像,然后构建actinbox3.2

例如(假设您有不同的Dockerfile名称)

sudo docker build -t iamdenmarkcontrevida/base -f Dockerfile.base
sudo docker build -t actinbox3.2 -f Docker.actinbox3.2

标记latest是默认值,因此无需在构建命令中添加它。

答案 2 :(得分:0)

您可以尝试打包机框架
这是创建docker镜像的最简单方法。 它还支持许多其他类型的机器图像。

https://www.packer.io/docs/builders/index.html

答案 3 :(得分:0)

这只是一个两行命令 -

  1. 获取您的local-image-id
docker ps
  1. 复制名称
docker build -t local-image-id/Any name you want:latest . 
<块引用>

对我来说 docker build -t condescending_greider/newdoc:latest .

感谢您的时间:)