2017-11-15 15:36:36 +00:00

89 lines
2.2 KiB
Markdown

# Using with Docker
<p class="warning">
This article assumes you are familiar with Docker and know how to create images and containers.
</p>
You can create a Docker image to run Alfresco Content App in the container.
## Building from source code
You need to run the following commands to build the project from the source code:
```sh
npm install
npm run build
```
That produces a build in the "dist" folder that you can use with a Docker image.
<p class="tip">
Also, you may need to update the `dist/app.config.json` file with the settings relevant to your scenario.
</p>
## Creating an image
The Content Application provides a "Dockerfile" file in the repository root.
You can build the image with the following command:
```sh
docker image build -t content-app .
```
## Running image in a container
To run the image locally, you can use the following command:
```sh
docker container run -p 80:80 --rm content-app
```
Navigate to "http://localhost" to access the running application.
## Docker Compose file
You can also use the "docker-compose" file for local development and testing.
To build and run container run the following command in the root project folder:
```sh
docker-compose up
```
To perform a cleanup operation, use the next command:
```sh
docker-compose down --rmi all
```
Navigate to "http://localhost:3000" to access the running application.
<p class="warning">
Please keep in mind that you should manually build the project every time you want to publish the image or run it locally with the container.
</p>
## Using with local ACS setup
If you run ACS at port 8080 as a Docker container (typical development configuration), you can use the following command to build the project before creating an image:
```sh
npm run build:dev
```
The command above updates the "dist/app.config.json" file to point the Content App to "http://localhost:8080" upon startup.
Alternatively, you can change the configuration file manually before generating an image.
So the development workflow, in this case, is going to be:
```sh
npm run build:dev
docker-compose up
```
Navigate to "http://localhost:3000" to access the running application.
To perform a cleanup operation, use the next command:
```sh
docker-compose down --rmi all
```