Face avant: Svelte.js (Sapper), API: Go (echo) Je voulais créer une application Construit avec Docker.
Au point où Sapper, l'écho peut être connecté à un hôte local
En construisant cet environnement, Créez avec "Vue.js + Go language + Docker"! Mise en œuvre de la fonction de téléchargement d'image Pratique a été utilisé comme référence.
Simple et facile à comprendre.
.
├── docker-compose.yml
└── server
npx degit "sveltejs/sapper-template#rollup" client
cd client
npm install
touch Dockerfile_develop
Bien que ce soit un Dockerfile, je veux préparer un Dockerfile pour la production dans mon cas, donc je l'ai nommé Dockerfile_develop
.
Si vous n'avez pas besoin de le diviser, ou s'il semble s'intégrer dans une construction en plusieurs étapes, vous pouvez en utiliser un.
Dockerfile
FROM mhart/alpine-node:12
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci
ENV HOST=0.0.0.0
EXPOSE 3000
docker-compose.yml
version: '3.8'
services:
client:
env_file: .env
build:
context: ./client
dockerfile: Dockerfile_${DOCKER_ENV} #Supprimez cette ligne si vous n'en avez pas besoin
ports:
- 3000:3000
tty: true
volumes:
- ./client:/app
command: npm run dev
touch .env
vim .env
DOCKER_ENV=develop
Voyons si Sapper commence à ce stade
docker-compose up --build
cd server
touch Dockerfile
touch main.go
Dockerfile
FROM golang:1.15.2-alpine
WORKDIR /go/src/api
ADD . /go/src/api
ENV GO111MODULE=off
RUN apk update && apk add curl git
main.go
package main
import (
"net/http"
"github.com/labstack/echo"
)
func main() {
e := echo.New()
e.GET("/", func(c echo.Context) error {
return c.String(http.StatusOK, "Hello, World")
})
e.Logger.Fatal(e.Start(":8080"))
}
docker-compose.yml
version: '3.8'
...
server:
build: ./server
ports:
- 8080:8080
tty: true
volumes:
- ./server:/api
Lancez le serveur local d'echo.
docker-compose up --build
docker-compose exec server /bin/ash
go get github.com/labstack/echo
go run main.go
Si vous pouvez accéder à localhost: 8080
, vous avez terminé.
Ensuite, je veux aller jusqu'à insérer Gorm
, MySQL
Faites avec "Vue.js + Go langue + Docker"! Mise en œuvre pratique de la fonction de téléchargement d'image Comment créer un environnement de développement pour svelte Hello World Recipe