2

最初の Dockerfile を作成しましたが、コマンドを実行すると

sudo docker ps

コンテナーはバックグラウンドで実行されていません。これが私の dockerfile です。

# Set the base image to Ubuntu
FROM debian:jessie

# File Author / Maintainer
MAINTAINER <Qop>

# Update the repository sources list
RUN apt-get update

################## BEGIN INSTALLATION ######################

RUN apt-get update && apt-get upgrade -y
RUN apt-get install -y \
vim \
apache2

##################### INSTALLATION END #####################

# Expose the default port
EXPOSE 81

# Default port to execute the entrypoint (MongoDB)
CMD ["--port 81"]

# Set default container command
ENTRYPOINT /bin/bash
4

1 に答える 1

5

エントリポイントを使用するbashと、stdin がファイルの終わりを返すとすぐに bash が終了します。したがって、実行したままにしておく必要がありますdocker run -itd image-name。は-iインタラクティブに-tし、tty を割り当て、-dデタッチします。これにより、コンテナーで stdin を開いたままにし、コンテナーに対してコマンドをアタッチまたは実行できるようにします。

--port 81フォローアップ: コマンドとして実行するとbash無効なオプションが表示されるコマンドを見ました。オプションとして mongo を実行する必要がある場合は、別のエントリ ポイントが必要になります。

于 2016-09-19T19:17:49.670 に答える