大家好,欢迎来到IT知识分享网。
一、准备工作
1.在根目录下创建Dockerfile文件夹,将go语言程序的源码拷贝进去,直接用xftp传进去就行
[root@docker ~]# mkdir /Dockerfile
[root@docker ~]# cp go+html+mysql+redis.zip /Dockerfile/
[root@docker ~]# cd /Dockerfile/
[root@docker Dockerfile]# ls
2.安装unzip命令
[root@docker Dockerfile]# yum install unzip -y
3.解压源码包
[root@docker Dockerfile]# unzip go+html+mysql+redis.zip
go.sum 它用于记录项目的依赖项的版本和哈希值
二、在云服务器中启动一个mysql容器
1.启动一个mysql容器
docker run -d -p 3316:3306 –name go-mysql-1 -e MYSQL_ROOT_PASSWORD=’sc@’ mysql:5.7.41 启动一个名为go-mysql-1的容器,密码为sc@
然后docker ps看一下有没有启动
2.测试
三、部署宿主机
1.修改server.go核心程序的数据库配置
[root@docker Dockerfile]# vim server.go
2.部署golang环境
[root@docker Dockerfile]# yum install epel-release -y 安装epel源
[root@docker Dockerfile]# yum install golang -y 安装golang
3.将go代码编译成二进制程序
[root@docker Dockerfile]# mv go.mod go.sum /root 将这俩文件移走
[root@docker Dockerfile]# go mod init web 产生go.mod 生成网站所需要的依赖的库,写到go.mod文件里
4.配置一个国内的go语言下载库的代理网站
5.编译网站成一个二进制程序
[root@docker Dockerfile]# go build -o server server.go
四、编写Dockerfile,Dockerfile 是制作镜像的配置文件
复制二进制程序+static+templates文件夹到目录下
五、导入基础镜像
用xftp导入centos7的镜像压缩包,然后用load加载一下
[root@docker docker]# docker load -i redis.tar
六、将go项目的基础数据导入云服务器的mysql中
[root@docker Dockerfile]# yum install mariadb -y 因为我们在内网的docker宿主机上远程连接到云服务器的mysql容器里,需要一个mysql的客户端工具,需要安装mariadb软件
[root@docker Dockerfile]# mysql -uroot -p’sc@’ -P 3316 -h 120.24.223.108 sanchuang < info.sql 将info.sql数据库导入到云服务器的mysql中
七、生成镜像
[root@docker docker]# docker build -t scweb:1.0 . .的作用是指执行当前目录下的Dockerfile
然后使用docker images查看是否成功
用自己做的镜像去启动一个容器
docker run -d -p 8080:8080 –name scweb-1 scweb:1.0
然后可以输入宿主机的ip加8080端口查看效果
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/129625.html