《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 项目

  1. docker run --name repo alpine/git clone https://github.com/docker/getting-started.git
  2. docker cp repo:/git/getting-started/ .
  • 第二步Build:

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

  1. cd getting-started
  2. docker build -t docker101tutorial.
  • 第三步Run:

    运行也一个镜像容器。

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

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

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

  1. docker tag docker101tutorial dawabigbaby/docker101tutorial
  2. 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. JAVA之G1垃圾回收器

    概述 G1 GC,全称Garbage-First Garbage Collector,通过-XX:+UseG1GC参数来启用,作为体验版随着JDK 6u14版本面世,在JDK 7u4版本发行时被正式推 ...

  2. xxe-lab学习

    0x00 前言 xxe-lab是一个一个包含php,java,python,C#等各种语言版本的XXE漏洞Demo这里附上下载链接https://github.com/c0ny1/xxe-lab我们用 ...

  3. redis的使用场景和优缺点

    使用场景和优缺点: 2 Redis用来做什么? 通常局限点来说,Redis也以消息队列的形式存在,作为内嵌的List存在,满足实时的高并发需求.而通常在一个电商类型的数据处理过程之中,有关商品,热销, ...

  4. 微软的Serialize和Newtonsoft的SerializeObject比较

    微软的序列化反序列化组件出来已有好几年了,刚出来的时候各种吐槽.最近在优化代码,比较了一下微软的Serialize和Newtonsoft的SerializeObject,感觉大部分场景下可以用微软的序 ...

  5. 服务器表单字符串转化Vue表单挂在到对应DOM节点

    今天在项目开发中,遇到从后端返回的vue文件(包含template,js,css)的文件,试过用v-html解析文件,渲染到页面,但是无法渲染,后来去查了一堆资料,自己写了一个全局方法来解析这类文件 ...

  6. Python与Javascript相互调用超详细讲解(2022年1月最新)(三)基本原理Part 3 - 通过C/C++联通

    目录 TL; DR python调javascript javascript调python 原理 基于Node.js的javascript调用python 从Node调用python函数 V8 嵌入P ...

  7. Android一句话 | ViewGroup事件分发

    ViewGroup中可重写的关于事件分发的事件有dispatchTouchEvent,onTouchEvent,onInterceptTouchEvent和requestDisallowInterce ...

  8. 浅谈 Java 多线程(一) --- JMM

    为什么使用多线程 更多的处理器核心数(硬件的发展使 CPU 趋向于更多的核心数,如果不能充分利用,就无法显著提升程序的效率) 更快的响应时间(复杂的业务场景下,会存在许多数据一致性不强的操作,如果将这 ...

  9. jsp加载css失效的解决方法

    问题: 有时候大家修改了css文件里的样式,但是刷新浏览器,利用工具看样式的时候,发现样式根本没加载或者说没更新, 其实这出现的问题就是缓存的问题 解决: 如何避免发生这种事,其实很简单,只需要每次请 ...

  10. linux区分atime,ctime and mtime