ついに、Dockerを起動して実行する方法を見つけました。
docker run --name my-forum-nodebb --link my-forum-redis:redis -p 80:80 -p 443:443 -p 4567:4567 -P -t -i nodebb/docker:ubuntu
クールなredisインスタンスにリンクしました。
これはゼロからであり、redisインスタンスを作成したときに
docker run --name my-forum-redis -d -p 6379:6379 nodebb/docker:ubuntu-redis
リモートリポジトリからイメージをプルしますか?
NodeBBはDockerfile
https://github.com/NodeBB/NodeBB/blob/master/Dockerfile を提供しています。リモートでこのDockerfileを呼び出すことで、何らかの方法でローカル環境を作成できると想定しています。
これは正しいです?もしそうなら、どのようにリモートを指すローカルインスタンスを作成できますか?
ファイルをダウンロードし、同じディレクトリからdocker build -t <nodebb> .
を実行します
これは、docker run -d nodebb
でコンテナを起動できるnodebbという名前のローカルマシン上のイメージを提供します
Dockerfileからコンテナーを開始することはできません。
プロセスは次のようになります。
Dockerfile = [
docker build
] => Dockerイメージ= [docker run
] => Dockerコンテナ
コンテナーを開始(または実行)するには、イメージが必要です。イメージを作成するには、Dockerfile [1]をビルドする必要があります。
[1]:docker import
tarballからの画像、またはdocker load
を使用することもできます。
上記の答えは役に立ちましたが、これは本当に助けになったので、ここにも掲載しています。
ドキュメント から:
コンテキストを指定する代わりに、単一のDockerfileをURLで渡すか、STDINを介してファイルをパイプで渡すことができます。 STDINからDockerfileをパイプするには:
$ docker build - < Dockerfile
Windows上のPowershellでは、次を実行できます。
Get-Content Dockerfile | docker build -
ビルドが完了したら、コマンドを実行します:
docker image ls
次のようなものが表示されます。
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> 123456789 39 seconds ago 422MB
実際のIMAGE IDをコピーして実行します
docker run 123456789
末尾の数字は、前のステップの実際の画像IDです
画像IDを覚えたくない場合は、次の方法で画像にタグを付けることができます
docker tag 123456789 pavel/pavel-build
画像にpavel/pavel-build
のタグを付けます