Skip to content

Commit

Permalink
Fix docker#76
Browse files Browse the repository at this point in the history
If the user runs that command "from the source code folder", i.e.
getting-started, docker will bind-mount getting-started to the
container's /app, which leads to error
error Couldn't find a package.json file in "/app". It needs to bind
getting-started/app instead.
So, add `/app` after `pwd` for binding it instead, and be explicit to
the user to be on the source code's root directory `getting-started`
before running the command.
  • Loading branch information
yuuyins committed Feb 12, 2022
1 parent 8725352 commit 7eab215
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions docs/tutorial/using-bind-mounts/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,11 @@ So, let's do it!

1. Make sure you don't have any previous `getting-started` containers running.

1. Run the following command from the source code folder. We'll explain what's going on afterwards:
1. Make sure you are in the root directory of the source code, i.e. `getting-started`, and run the following command. We'll explain what's going on afterwards:

```bash
docker run -dp 3000:3000 \
-w /app -v "$(pwd):/app" \
-w /app -v "$(pwd)/app:/app" \
node:12-alpine \
sh -c "yarn install && yarn run dev"
```
Expand All @@ -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:/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 container's present working directory where the command will run from
- `-v "$(pwd):/app"` - bind mount (link) the host's present working directory to the container's `/app` directory
- `-v "$(pwd)/app:/app"` - bind mount (link) the host's present `getting-started/app` directory to the container's `/app` directory. Note: Docker requires absolute paths for binding mounts, so in this example we use `pwd` for printing the absolute path of the working directory, i.e. the source code's root directory, instead of typing it manually
- `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`,
Expand Down

0 comments on commit 7eab215

Please sign in to comment.