[Docker]golang+mysql+phpmyadmin
最近接手一個以 golang 做為開發語言,並且使用 gin 框架開發,資料庫使用mysql 的專案。
因為這也是我第一次開發 golang,因為就先建立了一個基本的 Docker 開發環境,以下的 Dockerfile 及 docker-compose.yml都可以直接使用,放在這裡供大家參考。
Dockerfile
FROM golang:latest
WORKDIR /app
COPY . .
# RUN go mod init myapp
RUN go get -u github.com/gin-gonic/gin
RUN go get -u gorm.io/gorm
RUN go get -u gorm.io/driver/mysql
CMD ["go", "run", "main.go"]
docker-compose.yaml
version: '3'
services:
app:
build: .
ports:
- "8080:8080"
depends_on:
- db
db:
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: myapp
MYSQL_USER: user
MYSQL_PASSWORD: password
volumes:
- mysql_data:/var/lib/mysql
phpmyadmin:
image: phpmyadmin/phpmyadmin
ports:
- "8081:80"
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: rootpassword
volumes:
mysql_data:
直接執行
docker-compose up --build // 執行即可
目前這個 docker-compose.yaml 會自動建立資料庫及管理介面的基本環境,可以直接從 0 開始。
完整的程式放在 github https://github.com/ssssuuunnnn/dolang-jin-docker