diff --git a/website/translated_docs/zh-Hant/docker.md b/website/translated_docs/zh-Hant/docker.md new file mode 100644 index 000000000..08d7ad699 --- /dev/null +++ b/website/translated_docs/zh-Hant/docker.md @@ -0,0 +1,143 @@ +--- +id: docker +date: 2017-07-10T23:36:56.503Z +title: Docker +--- +To pull the latest pre-built [docker image](https://hub.docker.com/r/verdaccio/verdaccio/): + +`docker pull verdaccio/verdaccio` + +## Tagged Versions + +Since version `v2.x` you can pull docker images by [tag](https://hub.docker.com/r/verdaccio/verdaccio/tags/), as follows: + +For a major version: + +```bash +docker pull verdaccio/verdaccio:2 +``` + +For a minor version: + +```bash +docker pull verdaccio/verdaccio:2.1 +``` + +For a specific (patch) version: + +```bash +docker pull verdaccio/verdaccio:2.1.7 +``` + +For the next major release using the `beta` version. + +```bash +docker pull verdaccio/verdaccio:beta +``` + +The Canary version (master branch) is tagged as `next` + +```bash +docker pull verdaccio/verdaccio:next +``` + +# Running verdaccio using Docker + +To run the docker container: + +```bash +docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio +``` + +The last argument defines which image to use. The above line will pull the latest prebuilt image from dockerhub, if you haven't done that already. + +If you have [build an image locally](#build-your-own-docker-image) use `verdaccio` as the last argument. + +You can use `-v` to mount `conf` and `storage` to the hosts filesystem: + +```bash +V_PATH=/path/for/verdaccio; docker run -it --rm --name verdaccio -p 4873:4873 \ + -v $V_PATH/conf:/verdaccio/conf \ + -v $V_PATH/storage:/verdaccio/storage \ + verdaccio/verdaccio +``` + +## Docker and custom port configuration + +Any `host:port` configured in `conf/config.yaml` under `listen` is currently ignored when using docker. + +If you want to reach verdaccio docker instance under different port, lets say `5000` in your `docker run` command replace `-p 4873:4873` with `-p 5000:4873`. + +In case you need to specify which port to listen to **in the docker container**, since version 2.?.? you can do so by providing additional arguments to `docker run`: `--env PORT=5000` This changes which port the docker container exposes and the port verdaccio listens to. + +Of course the numbers you give to `-p` paremeter need to match, so assuming you want them to all be the same this is what you could copy, paste and adopt: + +```bash +PORT=5000; docker run -it --rm --name verdaccio \ + --env PORT -p $PORT:$PORT + verdaccio/verdaccio +``` + +## Using HTTPS with Docker + +You can configure the protocol verdaccio is going to listen on, similarly to the port configuration. You have to overwrite the default value("http") of the `PROTOCOL` environment variable to "https", after you specified the certificates in the config.yaml. + +```bash +PROTOCOL=https; docker run -it --rm --name verdaccio \ + --env PROTOCOL -p 4873:4873 + verdaccio/verdaccio +``` + +## Using docker-compose + +1. Get the latest version of [docker-compose](https://github.com/docker/compose). +2. Build and run the container: + +```bash +$ docker-compose up --build +``` + +You can set the port to use (for both container and host) by prefixing the above command with `PORT=5000`. + +Docker will generate a named volume in which to store persistent application data. You can use `docker inspect` or `docker volume inspect` to reveal the physical location of the volume and edit the configuration, such as: + + $ docker volume inspect verdaccio_verdaccio + [ + { + "Name": "verdaccio_verdaccio", + "Driver": "local", + "Mountpoint": "/var/lib/docker/volumes/verdaccio_verdaccio/_data", + "Labels": null, + "Scope": "local" + } + ] + + + +# Build your own Docker image + +```bash +docker build -t verdaccio . +``` + +There is also an npm script for building the docker image, so you can also do: + +```bash +npm run build:docker +``` + +Note: The first build takes some minutes to build because it needs to run `npm install`, and it will take that long again whenever you change any file that is not listed in `.dockerignore`. + +If you want to use the docker image on a rpi or a compatible device there is also a dockerfile available. To build the docker image for raspberry pi execute: + +```bash +npm run build:docker:rpi +``` + +Please note that for any of the above docker commands you need to have docker installed on your machine and the docker executable should be available on your `$PATH`. + +# Docker Examples + +There is a separate repository that hosts multiple configurations to compose Docker images with `verdaccio`, for instance, as reverse proxy: + +https://github.com/verdaccio/docker-examples \ No newline at end of file