En este tutorial aprenderemos como hacer deploy de nuestro contenedor a heroku.
Lo primero que necesitamos es tener instalado el cli de heroku Link
El siguiente paso que necesitamos es ejecutar un login usando.
heroku login
Lo siguiente que necesitamos a hacer es nuevamente un login para poder usar docker.
heroku container:login
Ahora procedemos a crear una nueva aplicación usando el comando.
heroku create
Copiamos el nombre de nuestra app. Ahora vamos a proceder a realizar nuestro ejemplo, vamos a hacer deploy de una app en node, usando como servidor a express.
mkdir heroku
cd heroku
npm init -y
npm install -S express
Ahora creamos un archivo index.js con el siguiente contenido
const express = require('express')
const app = express()
const port = process.env.PORT
app.get('/', (req, res) => res.send('Hola mundo'))
app.listen(port, () => console.log(port))
Como siguiente paso vamos a generar el Dockerfile con nuestra configuración.
FROM node:10-alpine
WORKDIR /app
COPY package.json .
RUN npm install
COPY index.js .
CMD ["node", "index.js"]
Usaremos a la imagen node:10-apline, creamos un directorio de trabajao, copiamos nuestro package.json y ejecutamos el comando npm install para instalar las dependencias, como siguiente lo que hacemos es copiar nuestra ejemplo en el archivo index.js y procedemos a ejecutarlo.
Una vez que ya tenemos al Dockerfile vamos a proceder a crear nuestra imagen, para eso ejecutamos el comando. (Nota: APP_NAME es el nombre de la app que creamos hace unos momentos con el comando heroku create).
heroku container:push web -a APP_NAME
Este comando creará nuestra imagen ejecutando el comando docker build de manera local. Ahora para poder hacer deploy, ejecutamos.
heroku container:release web -a APP_NAME
Si ahora accedemos a nuestra url veremos a nuestra app funcionando.
Bootcamp Ciencia de Datos
12 semanas de formación intensiva en los conocimientos, fundamentos, y herramientas que necesitas para ser científico de datos