《SelfClass》——Docker
《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的更多相关文章
- docker《三》单机部署项目容器,nginx负载均衡
接着<二> 创建一个网段(和二在一个网段) docker network create --subnet=172.19.0.0/24 pro-net docker run -d --nam ...
- 《HelloGitHub》第 77 期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. https://github.com/521xueweiha ...
- 《HelloGitHub》第 79 期
兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. https://github.com/521xueweiha ...
- 天河微信小程序入门《四》:融会贯通,form表单提交数据库
天河在阔别了十几天之后终于又回来了.其实这篇文章里的demo是接着(天河微信小程序入门<三>)后面就做了的,但是因为最近在做别的项目,所以就偷懒没有发出来.放到今天来看,从前台提交数据到数 ...
- 天河微信小程序入门《三》:打通任督二脉,前后台互通
原文链接:http://www.wxapp-union.com/forum.php?mod=viewthread&tid=505&extra=page%3D1 天河君在申请到https ...
- 《社交网络》里的评分公式——ELO排名系统
<社交网络>里的Mark Zackburg被女朋友甩后,在舍友的启发下,充分发挥了技术宅男自娱自乐的恶搞天分,做出了Facemash网站,对学校女生的相貌进行排名打分,结果网站访问流量过大 ...
- 原创:从零开始,微信小程序新手入门宝典《一》
为了方便大家了解并入门微信小程序,我将一些可能会需要的知识,列在这里,让大家方便的从零开始学习:一:微信小程序的特点张小龙:张小龙全面阐述小程序,推荐通读此文: 小程序是一种不需要下载.安装即可使用的 ...
- 《InsideUE4》GamePlay架构(十)总结
世界那么大,我想去看看 引言 通过对前九篇的介绍,至此我们已经了解了UE里的游戏世界组织方式和游戏业务逻辑的控制.行百里者半九十,前述的篇章里我们的目光往往专注在于特定一个类或者对象,一方面固然可以让 ...
- 《InsideUE4》-8-GamePlay架构(七)GameMode和GameState
我的世界,我做主 引言 上文我们说到在Actor层次,UE用Controller来充当APawn的逻辑控制者,也有了可以接受玩家输入的PlayerController,和能自行行动的AIControl ...
随机推荐
- BugKu CTF(杂项篇MISC)-贝斯手
打开是以下内容 先看一下给了哪些提示 1.介绍 没了?不,拉到最底下还有 2.女神剧照 密码我4不会告诉你的,除非你知道我的女神是哪一年出生的(细品) 大致已经明白了,四位数密码,出生年份 文件是以下 ...
- 【Java】System类时间戳
System类中获取时间戳 long time = System.currentTimeMillis(); //返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差称为时间戳 Syst ...
- spring 事务传播性
一.什么是事务传播性 大白话讲就是,方法之间互相调用的时候,事务如何传播,比如A()调用B(),B()的事务是和A()共用一个事务(失败一起提交)? 还是新事务(两者事务互不影响)?,还是说B()不需 ...
- 问题记录——BigDecimal保留两位小数及格式化成百分比
1.函数总结 BigDecimal.setScale()方法用于格式化小数点 setScale(1)表示保留一位小数,默认用四舍五入方式 setScale(1,BigDecimal.ROUND_DOW ...
- 【刷题-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 ...
- js复制标题和链接
问题 常常在写博客和作业时候,需要附上参考链接. 希望可以一键得到标题和链接. 解决方案 普通元素 可以使用findid然后复制 但是标题无法使用 <!DOCTYPE html> < ...
- Android 12(S) 图形显示系统 - 应用建立和SurfaceFlinger的沟通桥梁(三)
1 前言 上一篇文章中我们已经创建了一个Native示例应用,从使用者的角度了解了图形显示系统API的基本使用,从这篇文章开始我们将基于这个示例应用深入图形显示系统API的内部实现逻辑,分析运作流程. ...
- MyCms 自媒体 CMS 系统 v2.8,支持织梦数据导入
MyCms 是一款基于Laravel开发的开源免费的自媒体博客CMS系统,助力开发者知识技能变现. MyCms 基于Apache2.0开源协议发布,免费且不限制商业使用,欢迎持续关注我们. V2.8 ...
- golang中打印格式化的一些占位符
package main import ( "fmt" ) func main() { var a byte = 255 // byte = uint8 rune = int32 ...
- xargs、管道、exec区别
作者:ilexwg链接:https://www.zhihu.com/question/27452459/answer/170834758来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...