Quote volume mapping and use pwd

Signed-off-by: Stefan Scherer <stefan.scherer@docker.com>
This commit is contained in:
Stefan Scherer 2020-07-15 08:45:25 +02:00
parent f77065be98
commit a33ed89ab3
No known key found for this signature in database
GPG Key ID: 505AF50C5D02E697
3 changed files with 8 additions and 8 deletions

View File

@ -180,7 +180,7 @@ With all of that explained, let's start our dev-ready container!
```bash hl_lines="3 4 5 6 7"
docker run -dp 3000:3000 \
-w /app -v ${PWD}:/app \
-w /app -v "$(pwd):/app" \
--network todo-app \
-e MYSQL_HOST=mysql \
-e MYSQL_USER=root \
@ -194,7 +194,7 @@ With all of that explained, let's start our dev-ready container!
```powershell hl_lines="3 4 5 6 7"
docker run -dp 3000:3000 `
-w /app -v ${PWD}:/app `
-w /app -v "$(pwd):/app" `
--network todo-app `
-e MYSQL_HOST=mysql `
-e MYSQL_USER=root `

View File

@ -40,7 +40,7 @@ So, let's do it!
```bash
docker run -dp 3000:3000 \
-w /app -v ${PWD}:/app \
-w /app -v "$(pwd):/app" \
node:12-alpine \
sh -c "yarn install && yarn run dev"
```
@ -49,14 +49,14 @@ So, let's do it!
```powershell
docker run -dp 3000:3000 `
-w /app -v ${PWD}:/app `
-w /app -v "$(pwd):/app" `
node:12-alpine `
sh -c "yarn install && yarn run dev"
```
- `-dp 3000:3000` - same as before. Run in detached (background) mode and create a port mapping
- `-w /app` - sets the "working directory" or the current directory that the command will run from
- `-v ${PWD}:/app` - bind mount the current directory from the host in the container into the `/app` directory
- `-v "$(pwd):/app"` - bind mount the current directory from the host in the container into the `/app` directory
- `node:12-alpine` - the image to use. Note that this is the base image for our app from the Dockerfile
- `sh -c "yarn install && yarn run dev"` - the command. We're starting a shell using `sh` (alpine doesn't have `bash`) and
running `yarn install` to install _all_ dependencies and then running `yarn run dev`. If we look in the `package.json`,

View File

@ -53,7 +53,7 @@ To remember, this was the command we were using to define our app container.
```bash
docker run -dp 3000:3000 \
-w /app -v ${PWD}:/app \
-w /app -v "$(pwd):/app" \
--network todo-app \
-e MYSQL_HOST=mysql \
-e MYSQL_USER=root \
@ -67,7 +67,7 @@ If you are using PowerShell then use this command.
```powershell
docker run -dp 3000:3000 `
-w /app -v ${PWD}:/app `
-w /app -v "$(pwd):/app" `
--network todo-app `
-e MYSQL_HOST=mysql `
-e MYSQL_USER=root `
@ -116,7 +116,7 @@ docker run -dp 3000:3000 `
- 3000:3000
```
1. Next, we'll migrate both the working directory (`-w /app`) and the volume mapping (`-v ${PWD}:/app`) by using
1. Next, we'll migrate both the working directory (`-w /app`) and the volume mapping (`-v "$(pwd):/app"`) by using
the `working_dir` and `volumes` definitions. Volumes also has a [short](https://docs.docker.com/compose/compose-file/#short-syntax-3) and [long](https://docs.docker.com/compose/compose-file/#long-syntax-3) syntax.
One advantage of Docker Compose volume definitions is we can use relative paths from the current directory.