1. 安装docker

2. mkdir myDocker

3.  cd myDocker && touch Dockerfile

4.  Dockerfile写入

# 将golang环境作为父镜像

FROM golang

MAINTAINER Razil "zc6496359"

WORKDIR $GOPATH/src/godocker

ADD . $GOPATH/src/godocker

RUN go build main.go

EXPOSE 8080

ENTRYPOINT ["./main"]

参数解释:

FROM -> 母镜像 

MAINTAINER -> 维护者信息 

WORKDIR -> 工作目录 

ADD -> 将文件复制到镜像中 

RUN -> 执行操作(就跟在终端执行语句一样) 

EXPOSE -> 暴露端口 

ENTRYPOINT -> 程序入口

5.   编写main.go 文件 放在myDocker下

6.   构建镜像

docker build -t zcdocker .

出现Successfully build … 

说明构成成功。

7.  docker images 查看创建的镜像

8.  docker run -p 8080:8080 -d zcdocker

-p   本机端口:镜像端口

-d    后台运行

9.    本机访问 localhost:8080/zc 返回Hello Docker Form Golang!则成功

main.go 内容如下

package main

import(

    "net/http"

    "fmt"

)

func main() {

    http.HandleFunc("/zc",hello)

    http.ListenAndServe(":8080",nil)

}

func hello(w http.ResponseWriter, r *http.Request) {

    fmt.Fprintf(w,"Hello Docker Form Golang!")

}

Docker部署Golang的更多相关文章

  1. Docker部署golang微服务项目

    这篇博客是为了记录一下部署步骤. 因为实训需要,我要在服务器上用docker部署我们小组的微服务项目.我们的微服务有Gateway,User,Scene,Device四个部分,分别占用不同的端口,其中 ...

  2. docker部署golang+redis聊天室

    博客地址:http://www.niu12.com/article/7#####1.项目源码: https://github.com/ZQCard/webchat#####2.项目构成 websock ...

  3. k8s+docker部署Golang项目

    Go环境搭建 root账户 下载Golang [root@infra2-test-k8s /]# cd /usr/local/ [root@infra2-test-k8s local]# wget h ...

  4. 如何利用docker 构建golang线上部署环境

    公司最近开发了一个项目是用golang 写的,现在要部署到线上环境去,又不想在服务器上装单独的golang,决定用docker 封装下,直接打到镜像里面,然后就直接在hub.docker.com上面搜 ...

  5. 如何使用Docker部署一个Go Web应用程序

    熟悉Docker如何提升你在构建.测试并部署Go Web应用程序的方式,并且理解如何使用Semaphore来持续部署. 简介 大多数情况下Go应用程序被编译成单个二进制文件,web应用程序则会包括模版 ...

  6. 使用docker 部署codis

    使用docker 部署codis 原文地址:https://www.jianshu.com/p/85e72ae6fec3 codis的架构图 1.zookeeeper,用于存放统一配置信息和集群状态 ...

  7. 如何使用Docker部署Go Web应用

    目录 如何使用Docker部署Go Web应用 Docker部署示例 准备代码 创建Docker镜像 编写Dockerfile Dockerfile解析 From Env WORKDIR,COPY,R ...

  8. 使用 docker-compose 部署 golang 的 Athens 私有代理

    go中私有代理搭建 前言 为什么选择 athens 使用 docker-compose 部署 配置私有仓库的认证信息 配置下载模式 部署 使用秘钥的方式认证私有仓库 1.配置秘钥 2.配置 HTTP ...

  9. ASP.NET Core开发-Docker部署运行

    ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行.我们将ASP.NET Core 部署在Docker 上运行. 大家可能都见识过Docker ,今天我们就详细 ...

随机推荐

  1. Day17 多线程编程

    基本概念 进程:内存中正则运行的一个应用程序.一个进程包含多个线程. 线程:进程中的一个执行流程. 多线程:有两个或两个以上的并发执行流程. 线程的声明周期 说明: 1. 新建状态(New)      ...

  2. TortoiseGit需要重复填写用户名和密码的问题

    命令行执行: git config --global credential.helper store 即可

  3. Kafka设计解析(十三)Kafka消费组(consumer group)

    转载自 huxihx,原文链接 Kafka消费组(consumer group) 一直以来都想写一点关于kafka consumer的东西,特别是关于新版consumer的中文资料很少.最近Kafka ...

  4. SQLite加密方式 [转]

    关于SQLite SQLite是一个轻量的.跨平台的.开源的数据库引擎,它的在读写效率.消耗总量.延迟时间和整体简单性上具有的优越性,使其成为移动平台数据库的最佳解决方案(如iOS.Android). ...

  5. DQL-分页查询

    关键字 :limit 一.应用场景当要查询的条目数太多,一页显示不全二.语法 select 查询列表from 表limit [offset,]size;注意:offset代表的是起始的条目索引,默认从 ...

  6. HTML5 新增内容

    1. 新增标签 音频 <audio> <source src=""/> </audio> 视频 <video> <source ...

  7. C++_编写动态链接库

    原文:http://blog.csdn.net/a7055117a/article/details/47733247 动态链接库简介 动态链接库(Dynamic Link Library 或者 Dyn ...

  8. RabbitMQ(四):RPC的实现

    原文:RabbitMQ(四):RPC的实现 一.RPC RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议. ...

  9. python基础学习1-SET 集合

    # -*- coding:utf-8 -*- set集合 无序不重复的序列 se = {"a","b","c"} #创建SET集合 prin ...

  10. jQuery学习- 内容选择器

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...