2017-06-04 7 views
0

ここにthe official tutorialがあり、mongoDB imgを作成しています。Docker公式チュートリアルからMongoDBイメージエラーを作成する

私は正確にチュートリアルに続いて、次のDockerfile

# https://docs.docker.com/engine/examples/mongodb/#creating-a-dockerfile-for-mongodb 
# Dockerizing MongoDB: Dockerfile for building MongoDB images 
# Based on ubuntu:latest, installs MongoDB following the instructions from: 
# http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ 

# Format: FROM repository[:version] 
FROM  ubuntu:latest 

# Installation: 
# Import MongoDB public GPG key AND create a MongoDB list file 
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 
RUN apt-get install -y --no-install-recommends software-properties-common 
RUN echo "deb http://repo.mongodb.org/apt/ubuntu $(cat /etc/lsb-release | grep DISTRIB_CODENAME | cut -d= -f2)/mongodb-org/3.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-3.2.list 


# Update apt-get sources AND install MongoDB 
RUN apt-get update && apt-get install -y mongodb-org 

# MongoDB requires a data directory. Let’s create it as the final step of our installation instructions. 
# Create the MongoDB data directory 
RUN mkdir -p /data/db 

# Expose port 27017 from the container to the host 
EXPOSE 27017 

# Set usr/bin/mongod as the dockerized entry-point application 
ENTRYPOINT ["/usr/bin/mongod"] 

を生成した。しかし、私は

$ docker build --tag my/repo . 

を実行したときに、私は次のエラーを得た:

enter image description here

起こっていますに?それはなぜ失敗するのですか?それを修正するには?

EDIT:後コマンドの順序を調整

、私の最後のスクリプトはこれです:

# Format: FROM repository[:version] 
FROM  ubuntu:latest 


# Update apt-get sources AND install MongoDB 
RUN apt-get update 

# Installation: 
# Import MongoDB public GPG key AND create a MongoDB list file 
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 
RUN apt-get install -y --no-install-recommends software-properties-common 
# RUN echo "deb http://repo.mongodb.org/apt/ubuntu $(cat /etc/lsb-release | grep DISTRIB_CODENAME | cut -d= -f2)/mongodb-org/3.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-3.2.list 
RUN echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list 

RUN apt-get install -y mongodb-org 

# MongoDB requires a data directory. Let’s create it as the final step of our installation instructions. 
# Create the MongoDB data directory 
RUN mkdir -p /data/db 

# Expose port 27017 from the container to the host 
EXPOSE 27017 

# Set usr/bin/mongod as the dockerized entry-point application 
ENTRYPOINT ["/usr/bin/mongod"] 

その後、私は次のエラーました:enter image description here

次へ]を、私は「RUN APT-を追加しましたget install sudo "と入力すると、次のエラーが表示されます。

enter image description here enter image description here

3打撃を受けて、私はこのすべてがうまくいくとは確信していません。ここに最終的なDockerfileがあります。あなたはそれを動作させることができれば

# https://docs.docker.com/engine/examples/mongodb/#creating-a-dockerfile-for-mongodb 
    # Dockerizing MongoDB: Dockerfile for building MongoDB images 
    # Based on ubuntu:latest, installs MongoDB following the instructions from: 
    # http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ 

# Format: FROM repository[:version] 
FROM  ubuntu:latest 


# Update apt-get sources AND install MongoDB 
RUN apt-get update 

# Installation: 
# Import MongoDB public GPG key AND create a MongoDB list file 
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 
RUN apt-get install -y --no-install-recommends software-properties-common 

RUN apt-get install sudo 

# RUN echo "deb http://repo.mongodb.org/apt/ubuntu $(cat /etc/lsb-release | grep DISTRIB_CODENAME | cut -d= -f2)/mongodb-org/3.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-3.2.list 
RUN echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list 

RUN apt-get install -y mongodb-org 

# MongoDB requires a data directory. Let’s create it as the final step of our installation instructions. 
# Create the MongoDB data directory 
RUN mkdir -p /data/db 

# Expose port 27017 from the container to the host 
EXPOSE 27017 

# Set usr/bin/mongod as the dockerized entry-point application 
ENTRYPOINT ["/usr/bin/mongod"] 

は、あなたのDockerfileを貼り付けてください、私は私のスクリプトで間違っているものを学ぶのが大好きです。私はチュートリアルに従っており、うまくいきません。

+0

エラーメッセージを検索したときにグーグルは何を言いましたか? – Soviut

+0

@ソビエト多くの結果、私は関連性を特定することができません。 –

答えて

0

あなたの正確なエラーメッセージを素早く検索すると、thisと表示されます。

これはaptのエラーで、software-properties-commonパッケージがそのリポジトリに見つかりません。パッケージの変更が見つかると、通常、aptは更新が必要であることを意味します。

あなたはapt-get updateを実行していますが、の後にアップデートラインを実行しています。

RUN apt-get install -y --no-install-recommends software-properties-common 
... 
RUN apt-get update && apt-get install -y mongodb-org 

その代わりに、最初

RUN apt-get update 
RUN apt-get install -y --no-install-recommends software-properties-common 
... 
RUN apt-get install -y mongodb-org 

アップデートを実行します。あなたのアップデートは、MongoDBのパッケージをインストールするときに、今のエラーを取得していると言います。これは、パッケージファイルdebを読み込んでおり、もう一度aptを更新する必要があるためです。この時点で、最も簡単なことは、apt-getの接頭辞の前に接頭辞を付けて、updateのパッケージを見つけられないと不平を言うことです。

RUN apt-get update && apt-get install -y --no-install-recommends software-properties-common 
... 
RUN apt-get update && apt-get install -y mongodb-org 
+0

ありがとう!そのステップを通過しましたが、新しいエラー "E:パッケージmongodb-orgを見つけることができませんでした"が表示されます。私はGoogleの検索結果に基づいてそれを修正することはできません。 –

+0

@ NicolasS.Xuインストールしていないモノゴの解決策を含めるように答えを更新しました。 – Soviut

関連する問題