【golang】将项目部署到Docker
创始人
2025-05-30 08:38:34
0

1. 编写Dockerfile文件

FROM golang:1.19MAINTAINER "xxx@gmail.com"WORKDIR /home/go/src/sanHeRecruitmentADD . /home/go/src/sanHeRecruitmentRUN go build main.goEXPOSE 9090ENTRYPOINT ["./main"]

参数解释:

FROM -> 母镜像

MAINTAINER -> 维护者信息

WORKDIR -> 工作目录

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

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

EXPOSE -> 暴露端口

ENTRYPOINT -> 程序入口

2. 构建镜像

docker build -t sanhe .

注意镜像名称不能有大写字母

在这里插入图片描述

运行

docker run -p 9090:9090 -d sanhe[images名称]

-p 本机端口:镜像端口
-d 后台运行

注意:当你的项目有需要连接到本地的端口时你不能从容器中使用localhost访问主机上的服务,你必须使用主机的ip地址来访问。
在这里插入图片描述
原因:默认的docker将使用桥,桥将为您的容器设置一个内部网络,所以当容器使用localhost时,它并不意味着主机,它意味着容器自身的网络。
解决办法: --net=host。

docker run --net=host -p 9090:9090 -d sanhe

在这里插入图片描述

简单操作

  1. 进入容器
docker exec -it 49ec8845ac2a(容器名称) bash
  1. 拷贝容器中的文件到宿主机
docker cp 49ec8845ac2a(容器名称):/home/go/src/sanHeRecruitment/logs/system.log.20230318.log(内部路径)  /home(外部路径)

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...