《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. STM32新建模板之寄存器

    创建寄存器的项目模板相对比较简单,这里是基于库文件的模板进行更改的,有不明白的小伙伴可以浏览STM32新建模板之库文件. 一.项目文件 拷贝库文件的工程模板重命名为"stm32f10x_re ...

  2. python 读取配置文件ini ---ConfigParser

    Python读取ini文件需要用到 ConfigParser 模块 关于ConfigParser模块的介绍详情请参照官网解释:https://docs.python.org/2.7/library/c ...

  3. windos 安装 redis 启动闪退

    本来想在linux上安装redis的,后来觉得也没必要,主要是了解使用方法,和原理,在什么平台上安装都是大同小异的 接下来简单描述下碰到的小问题:闪退和启动失败 究其原因就是端口被占用了,但是自己并没 ...

  4. 发现一个现象:golang中大量的go出新协程,必然在GC统计中出现1ms以上的GC延迟

    结论:协程池还是有必要的,能够有效减小GC的压力. 我的某个服务,为了方(tou)便(lan),一些异步处理的场合直接go出协程来处理. 服务中使用这样的代码来统计GC的延迟: var mem run ...

  5. Linux 配置 kibana

    一.Kibana 是啥? Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索.查看交互存储在Elasticsearch索引中的数据. 二.安装步骤? 1.kibana 是 ...

  6. 《Spring Boot 实战纪实》之过滤器

    导航 什么是过滤器 Spring的过滤器 Filter定义 过滤的对象 典型应用 过滤器的使用 Filter生命周期 过滤器链 自定义敏感词过滤器 新增自定义过滤器 添加 @WebFilter注解 添 ...

  7. ApacheCN 计算机视觉译文集 20210218 更新

    新增了六个教程: OpenCV3 安卓应用编程 零.前言 一.设置 OpenCV 二.使用相机帧 三.应用图像效果 四.识别和跟踪图像 五.将图像跟踪与 3D 渲染相结合 六.通过 JNI 混合 Ja ...

  8. Java流程控制03:顺序结构

    顺序结构 Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行. 顺序结构是最简单的算法结构.从上到下 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处 ...

  9. ABC220H - Security Camera

    考虑折半,将点按照标号是否 \(\le \frac{n}{2}\) 分成两个集合 \(S_1, S_2\). 首先原问题的形式有点奇怪,我们不妨统计没有被覆盖覆盖的边为偶数条的情况. 这样一来问题转化 ...

  10. SnapKit

    SnapKit 是 Masonry 框架的团队针对 Swift 全新开发的一套自动布局框架 官方网站:http://snapkit.io github网站:https://github.com/Sna ...