mirror of https://github.com/docker/docs.git
192 lines
6.3 KiB
YAML
192 lines
6.3 KiB
YAML
command: docker init
|
|
short: Creates Docker-related starter files for your project
|
|
long: |-
|
|
Initialize a project with the files necessary to run the project in a container.
|
|
|
|
Docker Desktop 4.18 and later provides the Docker Init plugin with the `docker init` CLI command. Run `docker init` in your project directory to be walked through the creation of the following files with sensible defaults for your project:
|
|
|
|
* .dockerignore
|
|
* Dockerfile
|
|
* compose.yaml
|
|
|
|
If any of the files already exist, a prompt appears and provides a warning as well as giving you the option to overwrite all the files.
|
|
|
|
> **Warning**
|
|
>
|
|
> You can't recover overwritten files.
|
|
> To back up an existing file before selecting to overwrite it, rename the file or copy it to another directory.
|
|
{: .warning}
|
|
|
|
After running `docker init`, you can choose one of the following templates:
|
|
|
|
* Go: Suitable for a Go server application.
|
|
* Node: Suitable for a Node server application.
|
|
* Python: Suitable for a Python server application.
|
|
* Rust: Suitable for a Rust server application.
|
|
* Other: General purpose starting point for containerizing your application.
|
|
|
|
After `docker init` has completed, you may need to modify the created files and tailor them to your project. Visit the following topics to learn more about the files:
|
|
|
|
* [.dockerignore](../../../engine/reference/builder.md#dockerignore-file)
|
|
* [Dockerfile](../../../engine/reference/builder.md)
|
|
* [compose.yaml](../../../compose/compose-file/03-compose-file.md)
|
|
|
|
usage: docker init [OPTIONS]
|
|
pname: docker
|
|
plink: docker.yaml
|
|
options:
|
|
- option: version
|
|
value_type: bool
|
|
default_value: "false"
|
|
description: Display version of the init plugin
|
|
deprecated: false
|
|
hidden: false
|
|
experimental: false
|
|
experimentalcli: false
|
|
kubernetes: false
|
|
swarm: false
|
|
deprecated: false
|
|
experimental: false
|
|
experimentalcli: false
|
|
kubernetes: false
|
|
swarm: false
|
|
examples: |-
|
|
### Example of running `docker init`
|
|
|
|
The following example shows the initial menu after running `docker init`. See the additional examples to view the options for each language or framework.
|
|
|
|
```console
|
|
$ 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
|
|
|
|
Let's get started!
|
|
|
|
? What application platform does your project use? [Use arrows to move, type to filter]
|
|
> Go - (detected) suitable for a Go server application
|
|
Python - suitable for a Python server application
|
|
Node - suitable for a Node server application
|
|
Rust - suitable for a Rust server application
|
|
Other - general purpose starting point for containerizing your application
|
|
Don't see something you need? Let us know!
|
|
Quit
|
|
```
|
|
|
|
### Example of selecting Go
|
|
|
|
The following example shows the prompts that appear after selecting `Go` and example input.
|
|
|
|
```console
|
|
? 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
|
|
|
|
✔ 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
|
|
```
|
|
|
|
### Example of selecting Node
|
|
|
|
The following example shows the prompts that appear after selecting `Node` and example input.
|
|
|
|
```console
|
|
? 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
|
|
|
|
✔ 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
|
|
```
|
|
|
|
### Example of selecting Python
|
|
|
|
The following example shows the prompts that appear after selecting `Python` and example input.
|
|
|
|
```console
|
|
? 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
|
|
|
|
✔ 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
|
|
```
|
|
|
|
### Example of selecting Rust
|
|
|
|
The following example shows the prompts that appear after selecting `Rust` and example input.
|
|
|
|
```console
|
|
? 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
|
|
|
|
✔ 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
|
|
```
|
|
|
|
### Example of selecting Other
|
|
|
|
The following example shows the output after selecting `Other`.
|
|
|
|
```console
|
|
? What application platform does your project use? Other
|
|
|
|
CREATED: .dockerignore
|
|
CREATED: Dockerfile
|
|
CREATED: compose.yaml
|
|
|
|
✔ 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
|
|
```
|
|
|