zoukankan      html  css  js  c++  java
  • Docker 将go项目打包成Docker镜像

    创建一个文件夹 goWeb:

    [root@VM_0_8_centos goWeb]# ls
    Dockerfile  main

    将编译好的go文件main,拖到goWeb内并赋权(chmod 777 main)。

    在goWeb内创建文件Dockerfile,内容如下:

    FROM alpine:latest
    COPY main /app/main
    #ENTRYPOINT [ "/user-srv" ]
    CMD ["/app/main"]

    其中:

    • alpine:是基础镜像
    • COPY main /app/main :main就是编译好的go项目

    根据Dockerfile内容创建镜像:

    [root@VM_0_8_centos goWeb]# docker build -t go .
    Sending build context to Docker daemon  16.42MB
    Step 1/3 : FROM alpine
     ---> a24bb4013296
    Step 2/3 : COPY main /app/main
     ---> 4c9921ace956
    Step 3/3 : CMD ["/app/main"]
     ---> Running in 082d973e5ffc
    Removing intermediate container 082d973e5ffc
     ---> dbc58fdcc6d0
    Successfully built dbc58fdcc6d0
    Successfully tagged go:latest

    其中:

    • -t:指定要创建的目标镜像名为go
    • .:Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径

    查看结果,如下:

    [root@VM_0_8_centos goWeb]# docker images
    REPOSITORY   TAG      IMAGE ID        CREATED         SIZE
    go           latest   dbc58fdcc6d0    7 seconds ago   22MB

    根据镜像创建Docker容器:

    docker run  -p 9112:9111  go

    其中:

    • -p 9112:9111   : 9112是服务器IP,9111是Docker容器内的go项目的端口

    结束!

  • 相关阅读:
    5. 图 (算法和数据结构笔记)
    4. 树与二叉树 (算法和数据结构笔记)
    Go第八篇之包的使用
    Go第七篇之规范的接口
    Go第六篇之结构体剖析
    Go第三篇之大话容器
    Go第一篇之轻松入门
    Go第四篇之流程控制
    C简介与环境配置
    程序结构与基本语法
  • 原文地址:https://www.cnblogs.com/aaronthon/p/13494839.html
Copyright © 2011-2022 走看看