当前位置: 首页 > news >正文

域名注册网站建设方案安徽六安职业技术学院

域名注册网站建设方案,安徽六安职业技术学院,织梦网站统计,阿里云建公司网站使用go镜像打包,运行在容器内 redis和mysql用外部的 项目目录结构 w1go项目: Dockerfile # 这种方式是docker项目加上 本地的mysql和redis环境 # go打包的容器 FROM golang:alpine AS builder# 为我们镜像设置一些必要的环境变量 ENV GO111MODULEon …

使用go镜像打包,运行在容器内

redis和mysql用外部的
项目目录结构 w1go项目:
在这里插入图片描述

Dockerfile

# 这种方式是docker项目加上 本地的mysql和redis环境
# go打包的容器
FROM golang:alpine AS builder# 为我们镜像设置一些必要的环境变量
ENV GO111MODULE=on \CGO_ENABLED=0 \GOOS=linux \GOARCH=amd64 \GOPROXY=https://goproxy.cn,direct# 移动到工作目录:/build
WORKDIR /build# 复制当前目录项目中的 go.mod 和 go.sum文件并下载依赖信息
COPY go.mod .
COPY go.sum .
RUN go mod download# 复制代码
COPY . .# 编译代码 -o w1
RUN go build -o w1 ./w1#创建一个小镜像
FROM scratch#静态文件
#COPY ./log /log
#COPY ./config /config# 从builder镜像中把/dist/ww 拷贝到当前目录
COPY --from=builder /build/w1 /#Entrypoint指令用于设定容器启动时第一个运行的命令及其参数,后面的值就是参数
ENTRYPOINT ["/w1"]

打包镜像,运行

docker build -t goww .
docker run -d -p 18888:8888 --name goww1 goww

关联其他容器

上面示例使用的方式是Docker+本地的mysql环境
创建mysql容器 参考 Dockerfile构建mysql

#mysqlww4 容器名,mysqlww4 是go代码里面链接mysql的路径
docker run -d -p 18880:8888 --name goww4 --link=mysqlww4:mysqlww4 goww4
dsn := "root:root@tcp(mysqlww4:3306)/test?charset=utf8&parseTime=True&loc=Local&timeout=10s"

docker-compose 整合

目录
在这里插入图片描述

wait-for-it 官方下载

docker-compose.yml

# yaml 配置
version: "3.7"
services:mysql56:image: mysql:5.6restart: "always"ports:- 33065:3306command: "--default-authentication-plugin=mysql_native_password --init-file /data/application/test.sql"# 账号密码environment:MYSQL_ROOT_PASSWORD: "root"MYSQL_DATABASE: "test"MYSQL_PASSWORD: "root"# 文件夹以及文件映射volumes:- ./test.sql:/data/application/test.sql- /dockerval/compose5/mysql:/var/lib/mysqlredis626:# 镜像版本号image: redis:6.2.6# 端口号ports:- 18100:6379# 失败后总是重启restart: "always"# 以配置文件的方式启动 redis.conf# command:"redis-server /etc/redis/redis.conf --appendonly yes"# 文件夹以及文件映射volumes:- /dockerval/compose5/redis:/dataw1:build: .restart: "always"# shell脚本方式启动 执行顺序command: ["/wait-for-it.sh","mysql56:3306","--","/w1"]# 依赖启动项depends_on:- mysql56- redis626ports:- 18805:8888

Dockerfile

FROM golang:alpine AS builder# 为我们镜像设置一些必要的环境变量
ENV GO111MODULE=on \CGO_ENABLED=0 \GOOS=linux \GOARCH=amd64 \GOPROXY=https://goproxy.cn,direct# 移动到工作目录:/build
WORKDIR /build# 复制当前目录项目中的 go.mod 和 go.sum文件并下载依赖信息
COPY go.mod .
COPY go.sum .
RUN go mod download# 复制代码
COPY . .# 编译代码 -o w1
RUN go build -o w1 ./w1#创建一个小镜像
FROM debian:stretch-slim#静态文件
COPY ./wait-for-it.sh /
#COPY ./log /log
#COPY ./config /config# 从builder镜像中把/build/ww 拷贝到当前目录
COPY --from=builder /build/w1 /RUN chmod 755 wait-for-it.sh#Entrypoint指令用于设定容器启动时第一个运行的命令及其参数,后面的值就是参数
#ENTRYPOINT ["/w1"]

go连接mysql: root:root@tcp(mysql56:3306)/test?charset=utf8&parseTime=True&loc=Local&timeout=10s
执行命令:docker-compose up(docker-compose up -d是后台运行)
如果是修改需要重新构建执行:docker-compose build
在这里插入图片描述
在这里插入图片描述

http://www.yayakq.cn/news/637350/

相关文章:

  • 珠海网站建设 金蝶如何寻找seo网站建设客户
  • 中国建设银行汕头支行网站衡阳seo网站推广
  • vs网站开发营销和销售的区别
  • 关于网站建设的合同协议书单位网站建设运维情况
  • 有没有专门做二手车网站番禺建设网站外包
  • 做php网站用什么软件好网页制作公司 贵阳
  • 网站建设 ader互联网o2o是什么意思
  • 嘉兴网嘉兴网站建设wordpress响应式网站模板
  • 一般做兼职在哪个网站西安自助建站做网站
  • 阿里云服务器如何做两个网站建设初级中学网站
  • 南宁企业建站系统模板展馆展厅设计效果图
  • 哈尔滨企业网站建设二级建造师建设云网站
  • 五网合一网站建设河间专业做网站电话
  • 站长源码关键词优化排名用哪个软件比较好
  • 厦门人才网个人会员登录苏州商品关键词优化
  • 深圳网站制作平台做网站版面
  • 深圳婚庆网站建设dw做的网站如何上传云服务器
  • 莆田企业自助建站网易 自助网站建设
  • 武邑网站建设公司刚开始做写手上什么网站
  • js网站页面效果代码小学微机作业做网站
  • 网站推广公司简介重庆市建设工程造价信息网官方
  • 网站代码结构公司名称大全免费测吉凶
  • 成都网站建设桔子设计企业品牌商标
  • 360如何做免费的网站电脑版和手机版网站怎么做
  • 网站建设成都创新互联济南百度seo排名公司
  • 性价比高的网站建设做网站用什么软件语言
  • 巴中学校网站建设app界面怎么制作的
  • 网站seo流程软装设计师招聘
  • 网站抽奖模板做响应式网站设计师需要做什么
  • 有没有专做推广小说的网站在线种子资源网