最近在学习Docker和实际操作中遇到了不少问题,写篇博客记录一下。

安装

我安装的是windows版的docker desktop,在windows上用docker挺麻烦的,要配置一些东西,在windows上安装docker desktop。

安装完成后,以管理员身份运行一般都能跑起来,如果遇到 Docker Access Denied 报错打不开的情况,需要把计算机当前用户加入到docker-users用户组里面。

Docker打包镜像及修改配置的实现

打开命令行工具输入下面命令检验docker是否安装成功:

Docker打包镜像及修改配置的实现

甚至可以跑个hello-world:

Docker打包镜像及修改配置的实现

打包镜像

我们都知道打包命令是 docker build ,除此之外,还需要一个 Dockerfile 文件,命令行打包就不介绍了,分享一个vscode插件,就叫Docker!

Docker打包镜像及修改配置的实现

安装好了后侧边栏会多一个小鲸鱼,我们可以看到容器的状态和镜像,前提是docker desktop成功安装了。

Docker打包镜像及修改配置的实现

然后在我们的 Dockerfile 文件上右键,点击 build image ,会提示你输入一个镜像的名称,然后回车就ok了。

Docker打包镜像及修改配置的实现

运行容器并添加环境变量

有时项目正常运行需要依赖一些环境变量,我们可以通过 -e 指令添加:

docker run -p 4000:4000 -e env1=xxxx -e env2=yyyy ImageID

运行容器并自定义容器名称

我们运行两次 hello-world 后打开 docker desktop,可以发现每次运行的容器名称貌似是随机分配的

Docker打包镜像及修改配置的实现

我们可以使用 –name 指定容器的名称:

docker run --name hello hello-world

运行结果:

Docker打包镜像及修改配置的实现

Docker 修改 host

使用docker run运行一个新的容器的时候,通过参数 –add-host 来添加域名和IP信息到容器的/etc/hosts文件中:

docker run -p 8080:8080 --add-host=hostname:127.0.0.1 ImageID

导出镜像到本地

当我们开发把项目打包好镜像后,可能需要给运维或后端人员进行部署测试,可以使用 save -o 命令把镜像导出:

docker save -o .\保存的路径\镜像文件名 镜像

比如:
dicker save -o .\Desktop\hello.tar hello-world

个人觉得使用 docker hub 会更方便!

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。