mirror of
https://github.com/verdaccio/verdaccio.git
synced 2024-12-23 22:27:34 -05:00
5738dc801c
docs: new Crowdin translations (#636)
161 lines
No EOL
5.9 KiB
Markdown
161 lines
No EOL
5.9 KiB
Markdown
---
|
|
id: docker
|
|
title: Docker
|
|
---
|
|
Para descargar la última [imagen de Docker](https://hub.docker.com/r/verdaccio/verdaccio/):
|
|
|
|
```bash
|
|
docker pull verdaccio/verdaccio
|
|
```
|
|
|
|
## Versiones con Etiquetas
|
|
|
|
A partir de la versión `v2.x` puedes descargar imagenes de docker por [tag](https://hub.docker.com/r/verdaccio/verdaccio/tags/), como a continuación:
|
|
|
|
Para usar una versión "major":
|
|
|
|
```bash
|
|
docker pull verdaccio/verdaccio:2
|
|
```
|
|
|
|
Para usar una versión "minor":
|
|
|
|
```bash
|
|
docker pull verdaccio/verdaccio:2.1
|
|
```
|
|
|
|
Para usar una versión mas específica ("patch"):
|
|
|
|
```bash
|
|
docker pull verdaccio/verdaccio:2.1.7
|
|
```
|
|
|
|
Para usar el siguiente lanzamiento se usa el tag ` beta`.
|
|
|
|
```bash
|
|
docker pull verdaccio/verdaccio:beta
|
|
```
|
|
|
|
The Canary version (master branch) is tagged as `alpha`
|
|
|
|
```bash
|
|
docker pull verdaccio/verdaccio:alpha
|
|
```
|
|
|
|
> Si estas interesado en un listado de todos tags, [por favor visite el sitio web de Docker Hub](https://hub.docker.com/r/verdaccio/verdaccio/tags/).
|
|
|
|
## Ejecutando verdaccio usando Docker
|
|
|
|
Para ejecutar el contenedor de docker:
|
|
|
|
```bash
|
|
docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio
|
|
```
|
|
|
|
El último argumento define cual imagen se usa. En la linea de abajo se descargará la ultima imagen desde Docker Hub, si ya no existía previamente.
|
|
|
|
Si ya has [construido tu imagen](#build-your-own-docker-image) usa `verdaccio` como último argumento.
|
|
|
|
You can use `-v` to bind 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
|
|
```
|
|
|
|
> Note: Verdaccio runs as a non-root user (uid=101, gid=101) inside the container, if you use bind mount to override default, you need to make sure the mount directory is assigned to the right user. In above example, you need to run `sudo chown -R 101:101 /opt/verdaccio` otherwise you will get permission errors at runtime. [Use docker volume](https://docs.docker.com/storage/volumes/) is recommended over using bind mount.
|
|
|
|
### Usar un puerto personalizado con Docker
|
|
|
|
Cualquier `host:port` configurado en `conf/config.yaml` bajo el parametro `listen` es ignorado usando Docker.
|
|
|
|
Si deseas alcanzar la instancia de docker con un diferente puerto, digamos `5000`. En el comando `docker run` reemplace `-p 4873:4873` por `-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
|
|
```
|
|
|
|
### Configura Docker con HTTPS
|
|
|
|
Puedes configurar el protocolo que verdaccio, de manera similar la configuración del puerto. Puedes sobre escribir el vapor por defecto ("http") de la variable de entorno `PROTOCOL` a "https", después puedes especificar el certificado en config.yaml.
|
|
|
|
```bash
|
|
PROTOCOL=https; docker run -it --rm --name verdaccio \
|
|
--env PROTOCOL -p 4873:4873
|
|
verdaccio/verdaccio
|
|
```
|
|
|
|
### Usando docker-compose
|
|
|
|
1. Obtener la última versión de [docker-compose](https://github.com/docker/compose).
|
|
2. Construye y ejecuta el contenedor:
|
|
|
|
```bash
|
|
$ docker-compose up --build
|
|
```
|
|
|
|
Puedes usar el puerto a usar (para el contenedor y el cliente) prefijando el comando `PORT=5000`.
|
|
|
|
Docker generará un volumen en cual persistirá los datos de almacenamiento de la aplicación. Puedes usar `docker inspect` o `docker volume inspect` para revelar el contenido físico del volumen y editar la configuración tal como:
|
|
|
|
$ docker volume inspect verdaccio_verdaccio
|
|
[
|
|
{
|
|
"Name": "verdaccio_verdaccio",
|
|
"Driver": "local",
|
|
"Mountpoint": "/var/lib/docker/volumes/verdaccio_verdaccio/_data",
|
|
"Labels": null,
|
|
"Scope": "local"
|
|
}
|
|
]
|
|
|
|
|
|
|
|
## Construye tu propia imagen de Docker
|
|
|
|
```bash
|
|
docker build -t verdaccio .
|
|
```
|
|
|
|
Dentro del proyecto existe un script the npm para simplificar la creación de la imagen de Docker:
|
|
|
|
```bash
|
|
npm run build:docker
|
|
```
|
|
|
|
Nota: Construir la primera vez toma unos minutos porque se necesita ejecutar `npm install` y tomará mas tiempo cada vez que cambies cualquier archivo que no este listado en `. dockerignore`.
|
|
|
|
Si quieres usar la imagen de docker en un rpi o dispositivo compatible existe también un dockerfile disponible:
|
|
|
|
```bash
|
|
npm run build:docker:rpi
|
|
```
|
|
|
|
Por favor, note que para cualquiera de los comandos arriba mencionados necesitas docker instalado en tu máquina y el comando docker debe estar disponible en tu `$PATH`.
|
|
|
|
## Ejemplos con Docker
|
|
|
|
Existe disponible un repositorio que aloja múltiples configuraciones para componer imágenes de Docker con `verdaccio`, por ejemplo, un "reverse proxy":
|
|
|
|
https://github.com/verdaccio/docker-examples
|
|
|
|
## Imágenes de Docker Personalizadas
|
|
|
|
* [docker-verdaccio-gitlab](https://github.com/snics/docker-verdaccio-gitlab)
|
|
* [docker-verdaccio](https://github.com/deployable/docker-verdaccio)
|
|
* [docker-verdaccio-s3](https://github.com/asynchrony/docker-verdaccio-s3) Private NPM container that can backup to s3
|
|
* [docker-verdaccio-ldap](https://github.com/snadn/docker-verdaccio-ldap)
|
|
* [verdaccio-ldap](https://github.com/nathantreid/verdaccio-ldap)
|
|
* [verdaccio-compose-local-bridge](https://github.com/shingtoli/verdaccio-compose-local-bridge)
|
|
* [docker-verdaccio](https://github.com/Global-Solutions/docker-verdaccio)
|
|
* [verdaccio-docker](https://github.com/idahobean/verdaccio-docker)
|
|
* [verdaccio-server](https://github.com/andru255/verdaccio-server)
|
|
* [coldrye-debian-verdaccio](https://github.com/coldrye-docker/coldrye-debian-verdaccio) imagen de docker que ejecuta verdaccio desde coldrye-debian-nodejs. |