当前位置:首页>开发>正文

如何在Docker中设置Go并部署应用 docker的好处,为什么使用docker来部署服务器

2023-04-22 03:19:01 互联网 未知 开发

 如何在Docker中设置Go并部署应用 docker的好处,为什么使用docker来部署服务器

如何在Docker中设置Go并部署应用

步骤一 - 创建Dockerfile
如下的Dockerfile可以满足以上的要求:
**FROM** golang:1.*# Install beego and the bee dev tool*
**RUN** go get github.com/astaxie/beego && go get github.com/beego/bee
*# Expose the application on port 8080*
**EXPOSE** 8080
*# Set the entry point of the container to the bee command that runs the*
*# application and watches for changes*
**CMD** ["bee", "run"]
第一行,
FROM golang:1.将Go的官方映像文件作为基础映像。该映像文件预安装了 Go 1.6 . 该映像已经把 $GOPATH 的值设置到了 /go 。所有安装在 /go/src 中的包将能够被go命令访问。
第二行,
RUN go get github.com/astaxie/beego && go get github.com/beego/bee
安装 beego 包和 bee 工具。 beego 包将在应用程序中使用。 bee 工具用语在开发中再现地重新加载我们的代码。
第三行,
EXPOSE 8080
在开发主机上利用容器为应用程序开放8080端口。
最后一行,
CMD ["bee", "run"]
使用bee命令启动应用程序的在线重新加载。
步骤二 - 构建image
一旦创建了Docker file,运行如下的命令来创建image:
docker build -t ma-image .
执行以上的命令将创建名为ma-image的image。该image现在可以用于使用该应用程序的任何人。这将确保这个团队能够使用一个统一的开发环境。
为了查看系统上的image列表,运行如下的命令:
docker images
这行该命令将输出与以下类似的内容:
REPOSITORY TAG IMAGE ID CREATED SIZE
ma-image latest 8d53aa0dd0cb 31 seconds ago 784.7 MB
golang 1.6 22a6ecf1f7cc 5 days ago 743.9 MB
注意image的确切名字和编号可能不同,但是,应该至少看到列表中有 golang 和 ma-image image。
步骤三 - 运行容器
一旦 ma-image 已经完成,可以使用以下的命令启动一个容器:
docker run -it --rm --name ma-instance -p 8080:8080
-v /app/MathApp:/go/src/MathApp -w /go/src/MathApp ma-image

docker的好处,为什么使用docker来部署服务器

Docker的使用
Docker是一个轻量级的虚拟化解决方案,你可以实现秒级的虚拟机启动、非常轻量级的虚拟化。个人使用理解看来,它可以实现一个类似于版本管理Git一样的轻量化的状态保存。
Docker有两个非常重要的概念: 镜像和容器。
镜像是呈载容器的实体,所有容器都是运行在镜像之上。用版本管理的角度来看,镜像就像是某一个节点,它可以派生出不同的分支,你可以在不同分支上做不同的事情。可以想象成一棵树,最基本的镜像是主树干,主树干可以分出旁支树干,而旁支树干可以分出更细的旁支,而树干上可以生长树枝。
比如,你使用Docker,从官方仓库下载一个ubuntu镜像,把它作为最基础的镜像。然后在上面运行一个容器,这个容器里下载Nginx,再以这个容器为基础生成一个新的镜像,以后这个镜像生成的容器就都是ubuntu nginx为基础。但是你工作环境可能需要你使用Apache来工作,你也想有一个ubuntu apache为基础的镜像,于是你可以使用最基础的ubuntu镜像运行一个容器,在里面下载安装Apache,然后以这个容器为基础,保存一个ubuntu apache的镜像,以后在这个镜像基础上运行的所有容器都拥有了一个apache环境。

如何用docker部署一个mysql

1 docker pull mysql
2 docker run -v /data/var/mysql/:/var/lib/mysql -e YSQL_ROOT_PASSWORD=kS4pJUIb mysql
3 docker stop [CONTAINER ID]
4 docker run -it -v /data/var/mysql/:/var/lib/mysql mysql /bin/bash
5 mysqld_safe&
6 grant all privileges on *.* to wuxiao@% identified by password
7 docker cp [CONTAINER ID]:/etc/mysql/my.cnf /data/local/my.cnf
8 docker stop [CONTAINER ID]
9 docker run -d -p 3306:3306 -v /data/var/mysql/:/var/lib/mysql -v /data/local/my.cnf:/etc/mysql/my.cnf mysql
10 add [CMD] to /etc/rc.local
11 OK!

如何使用docker部署ngrok服务端

可以通过docker search搜索一下相关镜像,如果自己搭建,通过Dockerfile创建一个镜像,run之后进入编辑运行起来的这个容器,安装好之后把你的这个容器保存,记住映射端口,下次start就行