Inicializar un proyecto de Go con Docker Init
En este paso, inicializaremos un nuevo proyecto de Go y usaremos docker init
para generar los archivos Dockerfile y docker-compose.yml necesarios. Esto proporcionará un punto de partida para contenerizar nuestra aplicación de Go.
Primero, creemos un nuevo directorio para nuestro proyecto de Go. Abra una terminal en la máquina virtual (VM) de LabEx y ejecute los siguientes comandos:
mkdir my-go-app
cd my-go-app
Estos comandos crean un nuevo directorio llamado my-go-app
en el directorio ~/project
y luego cambian el directorio actual a my-go-app
.
A continuación, necesitamos inicializar un módulo de Go. Esto creará un archivo go.mod
que realiza un seguimiento de las dependencias de nuestro proyecto.
Ejecute el siguiente comando en la terminal:
go mod init my-go-app
Este comando inicializa un nuevo módulo de Go llamado my-go-app
. Debería ver una salida similar a:
go: creating new go.mod: module my-go-app
go: to add module requirements and sums:
go mod tidy
Ahora, creemos una simple aplicación de Go. Cree un nuevo archivo llamado main.go
en el directorio my-go-app
utilizando el editor nano
:
nano main.go
Agregue el siguiente código al archivo main.go
:
package main
import "fmt"
func main() {
fmt.Println("Hello, Docker!")
}
Este es un simple programa de Go que imprime "Hello, Docker!" en la consola.
Guarde el archivo y salga del editor nano
presionando Ctrl+X
, luego Y
y luego Enter
.
Ahora, usaremos docker init
para generar los archivos Dockerfile y docker-compose.yml. Sin embargo, la VM de LabEx no tiene Docker Compose instalado por defecto. Primero debemos instalarlo.
Descargue la última versión de Docker Compose utilizando curl
:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Haga que el binario de Docker Compose sea ejecutable:
sudo chmod +x /usr/local/bin/docker-compose
Verifique la instalación comprobando la versión de Docker Compose:
docker-compose --version
Debería ver una salida similar a:
docker-compose version 1.29.2, build xxxxxxx
Ahora que Docker Compose está instalado, podemos continuar con docker init
.
Ejecute el siguiente comando en la terminal:
docker init
docker init
hará una serie de preguntas para configurar los archivos Dockerfile y docker-compose.yml. Aquí están las respuestas recomendadas para este laboratorio:
- ¿Cómo desea llamar a esta aplicación?
my-go-app
- ¿En qué puerto está escuchando esta aplicación?
3000
(Este es un marcador de posición, en este simple ejemplo no usaremos realmente un puerto)
- ¿Cuál es el archivo principal a ejecutar?
main.go
- ¿Desea incluir la configuración de Docker Compose?
Yes
- Por favor, elija una versión de Docker Compose:
2.0
Después de responder estas preguntas, docker init
generará un archivo Dockerfile
y un archivo docker-compose.yml
en el directorio my-go-app
.
Puede ver el contenido de los archivos generados utilizando el comando cat
:
cat Dockerfile
cat docker-compose.yml
Estos archivos proporcionan una configuración básica para construir y ejecutar nuestra aplicación de Go en un contenedor de Docker. En el siguiente paso, personalizaremos estos archivos para adaptarlos mejor a nuestras necesidades.