理解Docker
Docker可以帮您为自己的应用程序创建一个单一的可部署“单位”。这样的单位也叫做容器,其中包含了应用程序需要的一切。例如代码(或二进制文件)、运行时、系统工具,以及系统库文件。将所有这些需要的内容打包为一个单一的单位,可确保无论将应用程序部署在何处,都能提供完全相同的环境。这种技术还可以帮您维持完全一致的开发和生产环境,通常这些环境是很难被追踪的。
一旦搭建完成,容器的创建和部署将可自动进行。这本身就可以避免一系列问题。这些问题中大部分都是因为文件不同步,或开发和生产环境之间的差异导致的。Docker可以解决这些问题。
在开发过程中使用Docker所获得的收益
在开发工作中使用Docker可以获得的部分收益包括:
- 所有团队成员共同使用一个标准的开发环境,
- 集中更新依存组件,在任何位置使用相同的容器,
- 从开发到生产可以使用完全相同的环境,并且
- 更易于修复只可能在生产环境中遇到的潜在问题。
Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序
一、交叉编译
Windows 下编译 Linux 64 位可执行程序
在项目所在根目录下执行:
GOOS:目标平台的操作系统(darwin、freebsd、linux、windows)
set GOOS=linux
GOARCH:目标平台的体系架构(386、amd64、arm)
set GOARCH=amd64
编译
go build .
二、打包镜像
Dockerfile(放在根目录下)
FROM hub.skyinno.com/common/alpine:latest MAINTAINER FAE Config Server "fae@fiberhome.com" ADD mars /usr/local/bin/ ENTRYPOINT ["/usr/local/bin/mars"]
- FROM:为后面的指令设置基础镜像。一个有效的Dockerfile文件必须以FROM作为第一条非注释指令
- MAINTAINER:设置生成的镜像的Author字段
- ADD:复制新文件、目录或远程文件URL并添加他们到容器的文件系统路径
- ENTRYPOINT:ENTRYPOINT允许配置容器作为可执行文件运行
在跟目录下进入docker环境
set DOCKER_HOST=tcp://10.110.200.29:5555
构建镜像
docker build -t hub.skyinno.com/fcae/mars . // 查看镜像是否构建成功 docker images
启动服务
docker run -i -d --name=mars -p 8011:8011 hub.skyinno.com/fcae/mars
- --name:指定服务名称
- -p:设置服务对外暴露端口
查看服务是否启动成功
docker ps -a
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。