《SelfClass》——Docker

根据我的个人计划,我需要先了解一下Docker,并且能够使用起来。

目的:在我Mac上搭建一个Docker,在Docker上搭建一个MySQL数据库。

Docker是什么

先说说我的理解:Docker是一个服务请求容器,我举个例子,比如说你的电脑刚刚重装了,你之前电脑上装的Git,MySQL,各种环境变量什么的都需要重新配置。还有Tomcat, maven ,等等,各种配置文件啥的。有了Docker,你就搭在Docker,以后想换服务器了,迁移了, 一下就把这个东西给全部迁移走了,这相当于是一个小的容器系统。

下载Docker

官网:https://www.docker.com/get-started

操作系统:macOS 11 -> Docker.dmg (size:500M)

在我下载的时候提示这个:Developer productivity tools and a local Kubernetes environment.

我猜测Docker肯定和Kuberneters有关了。

安装Docker

下载的是dmg安装包,直接双击打开安装即可

Size:安装包500M,解压后1.6G

使用Docker

安装完之后,难道就是一个软件吗?我比较懵逼的打开了这个App。出来这么一个界面。

  • 第一步clone:

    让选择一个自己的仓库克隆。我是第一次使用,我就使用了官方提供的 getting-started 项目

	docker run --name repo alpine/git clone https://github.com/docker/getting-started.git

​	docker cp repo:/git/getting-started/ .
  • 第二步Build:

    构建一个镜像,我没有镜像,就执行了官方提供的命令、

	cd getting-started 

​	docker build -t docker101tutorial.
  • 第三步Run:

    运行也一个镜像容器。

docker run -d -p 80:80 --name docker-tutorial docker101tutorial
  • 第四步Share:

    保存或者是分享我的image。 我先去申请一个Docker账号。发现里面和Git是一个原理

https://hub.docker.com/ 这是Docker的Hub。注册好之后,自己的账号就有自己的仓库地址了。

	docker tag docker101tutorial dawabigbaby/docker101tutorial

​	docker push dawabigbaby/docker101tutorial

我本地的管理界面:

​ 访问:http://localhost/tutorial/ 就能访问我打包的这个项目

​ 再看一下我的Docker Hub

已经存储到远端服务器上了。(Docker push)

仓库地址是:https://hub.docker.com/repository/docker/dawabigbaby/docker101tutorial

OK,到此为止,我大概对于Docker的安装和使用过程已经明白了。

Docker类似于一个容器,Docker Hub又提供了使用Git管理的Docker容器仓库,可以将自己本地的Docker image给打包发布上面。

随时随地可以获取下来。

然后我要尝试在Docker Image上安装一些服务和应用。

在本地Docker上,找到我刚才安装的那个Image。选择cli,其实就进入了这个上面的一个服务器上,可以通过命令行来进行操作了。

《SelfClass》——Docker的更多相关文章

  1. docker《三》单机部署项目容器,nginx负载均衡

    接着<二> 创建一个网段(和二在一个网段) docker network create --subnet=172.19.0.0/24 pro-net docker run -d --nam ...

  2. 《HelloGitHub》第 77 期

    兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. https://github.com/521xueweiha ...

  3. 《HelloGitHub》第 79 期

    兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. https://github.com/521xueweiha ...

  4. 天河微信小程序入门《四》:融会贯通,form表单提交数据库

    天河在阔别了十几天之后终于又回来了.其实这篇文章里的demo是接着(天河微信小程序入门<三>)后面就做了的,但是因为最近在做别的项目,所以就偷懒没有发出来.放到今天来看,从前台提交数据到数 ...

  5. 天河微信小程序入门《三》:打通任督二脉,前后台互通

    原文链接:http://www.wxapp-union.com/forum.php?mod=viewthread&tid=505&extra=page%3D1 天河君在申请到https ...

  6. 《社交网络》里的评分公式——ELO排名系统

    <社交网络>里的Mark Zackburg被女朋友甩后,在舍友的启发下,充分发挥了技术宅男自娱自乐的恶搞天分,做出了Facemash网站,对学校女生的相貌进行排名打分,结果网站访问流量过大 ...

  7. 原创:从零开始,微信小程序新手入门宝典《一》

    为了方便大家了解并入门微信小程序,我将一些可能会需要的知识,列在这里,让大家方便的从零开始学习:一:微信小程序的特点张小龙:张小龙全面阐述小程序,推荐通读此文: 小程序是一种不需要下载.安装即可使用的 ...

  8. 《InsideUE4》GamePlay架构(十)总结

    世界那么大,我想去看看 引言 通过对前九篇的介绍,至此我们已经了解了UE里的游戏世界组织方式和游戏业务逻辑的控制.行百里者半九十,前述的篇章里我们的目光往往专注在于特定一个类或者对象,一方面固然可以让 ...

  9. 《InsideUE4》-8-GamePlay架构(七)GameMode和GameState

    我的世界,我做主 引言 上文我们说到在Actor层次,UE用Controller来充当APawn的逻辑控制者,也有了可以接受玩家输入的PlayerController,和能自行行动的AIControl ...

随机推荐

  1. BugKu CTF(杂项篇MISC)-贝斯手

    打开是以下内容 先看一下给了哪些提示 1.介绍 没了?不,拉到最底下还有 2.女神剧照 密码我4不会告诉你的,除非你知道我的女神是哪一年出生的(细品) 大致已经明白了,四位数密码,出生年份 文件是以下 ...

  2. 【Java】System类时间戳

    System类中获取时间戳 long time = System.currentTimeMillis(); //返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差称为时间戳 Syst ...

  3. spring 事务传播性

    一.什么是事务传播性 大白话讲就是,方法之间互相调用的时候,事务如何传播,比如A()调用B(),B()的事务是和A()共用一个事务(失败一起提交)? 还是新事务(两者事务互不影响)?,还是说B()不需 ...

  4. 问题记录——BigDecimal保留两位小数及格式化成百分比

    1.函数总结 BigDecimal.setScale()方法用于格式化小数点 setScale(1)表示保留一位小数,默认用四舍五入方式 setScale(1,BigDecimal.ROUND_DOW ...

  5. 【刷题-LeetCode】238. Product of Array Except Self

    Product of Array Except Self Given an array nums of n integers where n > 1, return an array outpu ...

  6. js复制标题和链接

    问题 常常在写博客和作业时候,需要附上参考链接. 希望可以一键得到标题和链接. 解决方案 普通元素 可以使用findid然后复制 但是标题无法使用 <!DOCTYPE html> < ...

  7. Android 12(S) 图形显示系统 - 应用建立和SurfaceFlinger的沟通桥梁(三)

    1 前言 上一篇文章中我们已经创建了一个Native示例应用,从使用者的角度了解了图形显示系统API的基本使用,从这篇文章开始我们将基于这个示例应用深入图形显示系统API的内部实现逻辑,分析运作流程. ...

  8. MyCms 自媒体 CMS 系统 v2.8,支持织梦数据导入

    MyCms 是一款基于Laravel开发的开源免费的自媒体博客CMS系统,助力开发者知识技能变现. MyCms 基于Apache2.0开源协议发布,免费且不限制商业使用,欢迎持续关注我们. V2.8 ...

  9. golang中打印格式化的一些占位符

    package main import ( "fmt" ) func main() { var a byte = 255 // byte = uint8 rune = int32 ...

  10. xargs、管道、exec区别

    作者:ilexwg链接:https://www.zhihu.com/question/27452459/answer/170834758来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...