Docker Init

Docker Init とは?

プロジェクトに必要な Docker 関連のスターター ファイルを作成します。コマンドには docker init [OPTIONS] を使用します。


説明

コンテナー内でプロジェクトを実行するのに必要なファイルでプロジェクトを初期化します。

Docker Desktop では、docker init CLI コマンドを利用できます。プロジェクト ディレクトリで docker init を実行すると、プロジェクトに適したデフォルトを使用して次のファイルが作成されます。

ファイルがすでに存在する場合、プロンプトが表示され、警告メッセージとすべてのファイルを上書きするオプションが提供されます。compose.yaml の代わりに docker-compose.yaml がすでに存在する場合、docker init はそれを上書きし、docker-compose.yaml を Compose ファイルの名前として使用します。

注意点

上書きされたファイルは復元できません。上書きを選択する前に既存のファイルをバックアップするには、ファイルの名前を変更するか、別のディレクトリにコピーします。

docker init を実行した後、以下のテンプレートのいずれかを選択できます。

docker init が完了した後、必要に応じて、作成されたファイルをプロジェクトに合わせて調整します。ファイルの詳細については、次のトピックを参照してください。


オプション

オプション デフォルト 説明
--version -- init プラグインのバージョンを表示します。

docker init の実行例

次の例は、docker init を実行した後の初期メニューを示しています。各言語またはフレームワークのオプションについては、後続のそれぞれの例を参照してください。

$ docker init
    
    Welcome to the Docker Init CLI!
    
    This utility will walk you through creating the following files with sensible defaults for your project:
      - .dockerignore
      - Dockerfile
      - compose.yaml
      - README.Docker.md
    
    Let's get started!
    
    ? What application platform does your project use?  [Use arrows to move, type to filter]
    > PHP with Apache - (detected) suitable for a PHP web application
      Go - suitable for a Go server application
      Java - suitable for a Java application that uses Maven and packages as an uber jar
      Python - suitable for a Python server application
      Node - suitable for a Node server application
      Rust - suitable for a Rust server application
      ASP.NET Core - suitable for an ASP.NET Core application
      Other - general purpose starting point for containerizing your application
      Don't see something you need? Let us know!
      Quit

Go を選択した場合の例

次の例は、Go を選択して質問に回答した後に表示されるプロンプトを示しています。

? What application platform does your project use? Go
    ? What version of Go do you want to use? 1.20
    ? What's the relative directory (with a leading .) of your main package? .
    ? What port does your server listen on? 3333
    
    CREATED: .dockerignore
    CREATED: Dockerfile
    CREATED: compose.yaml
    CREATED: README.Docker.md
    
    ✔ Your Docker files are ready!
    
    Take a moment to review them and tailor them to your application.
    
    When you're ready, start your application by running: docker compose up --build
    
    Your application will be available at http://localhost:3333
    
    Consult README.Docker.md for more information about using the generated files.

Node を選択した場合の例

次の例は、Node を選択して質問に回答した後に表示されるプロンプトを示しています。

? What application platform does your project use? Node
    ? What version of Node do you want to use? 18
    ? Which package manager do you want to use? yarn
    ? Do you want to run "yarn run build" before starting your server? Yes
    ? What directory is your build output to? (comma-separate if multiple) output
    ? What command do you want to use to start the app? node index.js
    ? What port does your server listen on? 8000
    
    CREATED: .dockerignore
    CREATED: Dockerfile
    CREATED: compose.yaml
    CREATED: README.Docker.md
    
    ✔ Your Docker files are ready!
    
    Take a moment to review them and tailor them to your application.
    
    When you're ready, start your application by running: docker compose up --build
    
    Your application will be available at http://localhost:8000
    
    Consult README.Docker.md for more information about using the generated files.
    

Python を選択した場合の例

次の例は、Python を選択して質問に回答した後に表示されるプロンプトを示しています。

? What application platform does your project use? Python
    ? What version of Python do you want to use? 3.8
    ? What port do you want your app to listen on? 8000
    ? What is the command to run your app (e.g., gunicorn 'myapp.example:app' --bind=0.0.0.0:8000)? python ./app.py
    
    CREATED: .dockerignore
    CREATED: Dockerfile
    CREATED: compose.yaml
    CREATED: README.Docker.md
    
    ✔ Your Docker files are ready!
    
    Take a moment to review them and tailor them to your application.
    
    When you're ready, start your application by running: docker compose up --build
    
    Your application will be available at http://localhost:8000
    
    Consult README.Docker.md for more information about using the generated files.
    

Rust を選択した場合の例

次の例は、Rust を選択して質問に回答した後に表示されるプロンプトを示しています。

? What application platform does your project use? Rust
    ? What version of Rust do you want to use? 1.70.0
    ? What port does your server listen on? 8000
    
    CREATED: .dockerignore
    CREATED: Dockerfile
    CREATED: compose.yaml
    CREATED: README.Docker.md
    
    ✔ Your Docker files are ready!
    
    Take a moment to review them and tailor them to your application.
    
    When you're ready, start your application by running: docker compose up --build
    
    Your application will be available at http://localhost:8000
    
    Consult README.Docker.md for more information about using the generated files.
    

ASP.NET Core を選択した場合の例

次の例は、ASP.NET Core を選択して質問に回答した後に表示されるプロンプトを示しています。

? What application platform does your project use? ASP.NET Core
    ? What's the name of your solution's main project? myapp
    ? What version of .NET do you want to use? 6.0
    ? What local port do you want to use to access your server? 8000
    
    CREATED: .dockerignore
    CREATED: Dockerfile
    CREATED: compose.yaml
    CREATED: README.Docker.md
    
    ✔ Your Docker files are ready!
    
    Take a moment to review them and tailor them to your application.
    
    When you're ready, start your application by running: docker compose up --build
    
    Your application will be available at http://localhost:8000
    
    Consult README.Docker.md for more information about using the generated files.
    

PHP with Apache を選択した場合の例

次の例は、PHP with Apache を選択して質問に回答した後に表示されるプロンプトを示しています。PHP with Apache テンプレートは、純粋な PHP アプリケーションと、依存性マネージャーとして Composer を使用するアプリケーションの両方に適しています。docker init を実行した後、アプリケーションに必要な PHP 拡張を手動で Dockerfile に追加する必要があります。

? What application platform does your project use? PHP with Apache
    ? What version of PHP do you want to use? 8.2
    ? What's the relative directory (with a leading .) for your app? ./src
    ? What local port do you want to use to access your server? 9000
    
    CREATED: .dockerignore
    CREATED: Dockerfile
    CREATED: compose.yaml
    CREATED: README.Docker.md
    
    ✔ Your Docker files are ready!
    
    Take a moment to review them and tailor them to your application.
    
    If your application requires specific PHP extensions, you can follow the instructions in the Dockerfile to add them.
    
    When you're ready, start your application by running: docker compose up --build
    
    Your application will be available at http://localhost:9000
    
    Consult README.Docker.md for more information about using the generated files.
    

Java を選択した場合の例

次の例は、Java を選択して質問に回答した後に表示されるプロンプトを示しています。

? What application platform does your project use? Java
    ? What version of Java do you want to use? 17
    ? What's the relative directory (with a leading .) for your app? ./src
    ? What port does your server listen on? 9000
    
    CREATED: .dockerignore
    CREATED: Dockerfile
    CREATED: compose.yaml
    CREATED: README.Docker.md
    
    ✔ Your Docker files are ready!
    
    Take a moment to review them and tailor them to your application.
    
    When you're ready, start your application by running: docker compose up --build
    
    Your application will be available at http://localhost:9000
    
    Consult README.Docker.md for more information about using the generated files.
    

Other を選択した場合の例

次の例は、Other を選択した後に表示されるプロンプトを示しています。

? What application platform does your project use? Other
    
    CREATED: .dockerignore
    CREATED: Dockerfile
    CREATED: compose.yaml
    CREATED: README.Docker.md
    
    ✔ Your Docker files are ready!
    
    Take a moment to review them and tailor them to your application.
    
    When you're ready, start your application by running: docker compose up --build
    
    Consult README.Docker.md for more information about using the generated files.
    

 

ページトップへ