该章主要围绕
dockerfile
+docker
在实际项目场景(Java
、Vue
、Go
)下的简单使用。(ps:手头有事的时候并不想抽时间去写博文,思绪容易被打断,这样内容就缺失了连续性,让各位小伙伴久等了!)
系列目录
LaoCat带你认识容器与镜像(一)
LaoCat带你认识容器与镜像(二【一章】)
LaoCat带你认识容器与镜像(二【二章】)
LaoCat带你认识容器与镜像(二【三章】)
LaoCat带你认识容器与镜像(三【上】)
LaoCat带你认识容器与镜像(三【下】)
LaoCat带你认识容器与镜像(四【上】)
LaoCat带你认识容器与镜像(四【下】)
LaoCat带你认识容器与镜像(番外一【Harbor】)
LaoCat带你认识容器与镜像(实践篇一上)
LaoCat带你认识容器与镜像(实践篇一下)
LaoCat带你认识容器与镜像(实践篇二上)
LaoCat带你认识容器与镜像(实践篇二下)
LaoCat带你认识容器与镜像(实践篇三之Java项目)
本章内容
本文实操全部基于Ubuntu 20.04
宿主机 => linux服务器本身
Docker => 20.10.22
Go => 1.19
这一章围绕Dockerfile
与Docker
的结合使用并在实际场景下的应用,这里的实际场景指Java项目
、Vue项目
、Go项目
;这里我将演示项目全部上传到自己的GitHub
上,感兴趣的小伙伴可以通过文末的链接访问进行学习。
Dockerfile与Docker结合使用之Go项目
Go
作为一门新兴编程语言,在“曼”的时光里抽空闲时间入门了下,对比Java
来说,有着其根本的不同,今天我们通过另一种方式来进行Docker
容器部署,就是通过idea
携带的Docker
编译部署功能来进行对容器的操作,这里不做展开,后续可能会有番外。
-
同理我们创建
Go
项目,我这里新建了一个特别简单的,只为了演示Docker
在Go
语言下的实践(ps:小伙伴们想深入学习的可以通过文末的资源链接跳转Gitee
获取bbs-go
项目来进行深入研究);项目结构如下,该项目已上传Github
。
-
在
main.go
下利用Go
的开源web
框架iris
来进行简单的web
访问,这里需要下载对应的依赖,关于Go
的相关知识,就不做任何展开了,该文件内容如下,可以简单理解启动项目后访问Ip+port/books
等同于获取所有book
。
-
新建
Dockerfile
。FROM golang:1.19 WORKDIR /gowork COPY go.mod go.sum ./ ENV GOPROXY=https://proxy.golang.com.cn,direct # ① RUN go mod download COPY . ./ RUN go build EXPOSE 7799 ENTRYPOINT ["./dockerGo"]
4. 接下来我们配置goland (go的idea)
中的Docker
配置,后续要出相关的番外,这里就不做过多介绍,如图。
5. 执行启动,可以通过goland
的控制台看到其与通过ssh客户端
创建启动容器的内容基本一致。
通过Finalshell
执行命令可以看到刚刚通过goland
创建并启动的容器。
6. 接着我们访问该容器,可以看到通过Ip+port/books
获取到了所有的book
。
ok~,到这里就算入门了Go
项目的Docker
实践了。
※ 关于Dockerfile
中①,该项配置可以通过https://goproxy.io/zh/
来获取,同时该配置如果不进行配置,启动容器会遇到依赖下来不下来或获取一半失败的情况,强烈建议配置该环境变量。
☆ 参考文献: \
◎ 文中所用到的资源链接:
【Gitee bbs-go】
https://gitee.com/mlogclub/bbs-go?_from=gitee_search
¤ LaoCat的Github:
https://github.com/Blackcat308