私はドッカー画像を作成するためのPythonコードを持っています。今私の理解によれば、Dockerfile
と私たちのpythonコードcode.py
が必要です。 Dockerfile
内では記述する必要があります。カスタムのPythonドッカー画像の作成
FROM python:3
ADD code.py/
RUN pip3 install imapclient
CMD [ "python", "./code.py" ]
私の最初の質問は、このDockerfile
についてです。まず、を使いたいので、FROM python:3
を挙げました。次にコードを追加しました。 RUN
では、私たちのコードの依存関係を書くことができます。たとえば、コードにpythonパッケージimapclient
が必要な場合は、ここで言及して、ドッカーファイルがビルドされる前にインストールされるようにします。しかし、私たちのコードに要件がない場合はどうでしょうか? この行は重要ですかRUN
です。必要がないときに除外することはできますか?
これで、コマンドdocker build -t python-hello-world .
を使用して最終的にドッカー画像python-hello-world
を作成したとします。コマンドdocker images -a
を使って見ることができます。今ではdocker ps
を実行すると、コンテナが実行されていないため、そこには表示されません。今それを始めるには、私はdocker run python-hello-world
をしなければならないでしょう。これでコードが開始されます。しかし、私はそれがLinuxサービスのように常にバックグラウンドで実行されることを望んでいます。どうやってするか。?
私は実際に '--restart'フラグを使用しましたが、-dを使用しなかったのでエラーになりました。まあありがとう。もう1つの質問です.Dockerビルドコマンドを使用すると、最後に '.'を使用する理由は –
です。 linuxの現在のディレクトリ、dockerビルドをreferesします。現在のディレクトリにあるdockerfileを使用していることを意味します。 –
そして、別のディレクトリからコマンドを実行している場合は、 '.'の代わりにpathを指定する必要があります。 –