终于要进入到Docker技术系列了,感谢大家的持续关注。

为什么要选择Docker?因为Docker 轻巧快速,提供了可行、经济、高效的替代方案。举个例子,安装Nginx,Mysql,Redis等常用的开发软件,一句命令就搞定了。不仅为我们开发,测试,部署提供方便,也能节省时间去处理更重要的事情。

那我们下面来了解下Docker是什么?

一、 Docker的基本概念

Docker 包括三个基本概念:

  • 镜像(Image):相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。比如说nginx,mysql,redis等软件可以做成一个镜像。
  • 容器(Container):容器可以被创建、启动、停止、删除、暂停等。
  • 仓库(Repository):一个代码控制中心,用来保存镜像。DockerHub 是一个由 Docker 公司运行和管理的基于云的存储库。它是一个在线存储库,Docker 镜像可以由其他用户发布和使用。有两种库:公共存储库和私有存储库。如果你是一家公司,你可以在你自己的组织内拥有一个私有存储库,而公共镜像可以被任何人使用。

刚开始使用,尽可能的会使用,了解其解决什么痛点,随着我们使用的深入,逐步了解其原理和结构是如何实现的。

二、Docker 安装与配置

1、下载与安装Docker Desktop for Mac

在Docker hub 网站上搜索

Docker desktop for Mac

,如下,点击get docker 即可自动完成docker软件下载。

2、第三方镜像地址下载

官网下载比较慢,也可以通过国内镜像下载。地址如下:

对于10.10.3以下的用户 推荐使用Docker Toolbox

Mac安装文件:

http://mirrors.aliyun.com/docker-toolbox/mac/docker-toolbox/

对于10.10.3以上的用户 推荐使用Docker for Mac

Mac安装文件:

http://mirrors.aliyun.com/docker-toolbox/mac/docker-for-mac/

下载完成后,打开下载文件目录,找到对应的安装包。双击启动安装程序,拖动到应用程序文件夹开始启动安装过程。

3、安装可能会出现的问题。

注意:启动安装后,提示来源不可靠,是否安装,点击确定安装。特别注意这个地方,第一个弹出框输入的是mac管理密码,第二个输入的才是docker的账号密码。验证后,继续安装。

4、验证docker是否安装成功

输入以下命令,

docker version

如果有输出版本的,那么恭喜你安装成功。

三、Docker 镜像加速器

1、为什么要配置加速器?

使用 Docker 时需要首先下载一个官方镜像,例如 mysql、wordpress。然而由于网络原因,下载一个 Docker 官方镜像可能会需要很长的时间,甚至下载失败。

2、如何获取加速器?

这里我们使用阿里云docker镜像加速器:阿里云的docker镜像加速器需要注册账号,每个人都有自己唯一的地址。

https://dev.aliyun.com/search.html

3、如何配置加速器?

Docker for Mac的用户,可以参考以下配置步骤:

右键点击桌面顶栏的 docker 图标,选择 Preferences ,在 Docker Engine 标签下的 Registry mirrors 列表中将镜像地址的数组:

"registry-mirrors": ["https://你的前缀地址.mirror.aliyuncs.com"]

点击 Apply & Restart按钮,等待Docker重启并应用配置的镜像加速器。

4、检验加速器是否配置成功

执行 docker info 命令,返回结果中包含以下内容,则说明配置成功。

https://你的前缀地址.mirror.aliyuncs.com/

四、Docker 命令学习

安装完了Docker,我们先简单的熟悉一下Docker的基本命令。Docker的命令跟git的命令大部分概念类似。

Docker 镜像最常用的三个基本操作 login、pull、push。

1、登陆(login)

假如说需要拉去私有的仓库,那么需要登陆到阿里云的仓库,

方式一:输入用户名密码登陆

docker login registry.cn-hangzhou.aliyuncs.com

输入用户名和密码进行登陆

Username:登陆名
Password:密码
Login Succeeded

方式二:指定登陆名登陆

docker login --username=你的地址@aliyun.com registry.cn-hangzhou.aliyuncs.com

输入密码进行登陆。

注意:Docker客户端登录时使用的用户名为阿里云账户全名,密码是在阿里云设置的密码。

通过查看 config.json 文件,确认您的登录信息。

cat ~/.docker/config.json

输出以下信息说明登陆成功

{
"auths": {
"https://index.docker.io/v1/": {},
"registry.cn-hangzhou.aliyuncs.com": {}
}

说明:我这里登陆了官方的,也登陆了镜像加速器。如果您要下载公共仓库下的镜像,不登陆镜像加速器也是可以下载的。但是如果要推送到镜像仓库,那么会报客户端未授权。

2、拉取(pull)

这个很像git,在git的客户端一般是通过git pull来拉取代码,而这里是通过 docker pull来拉取镜像。

拉取公有仓库镜像

docker pull helloworld

拉取私有仓库镜像

docker pull registry.cn-hangzhou.aliyuncs.com/镜像名字

3、查看已下载的镜像

通过docker images来查看本地下载好的镜像。

4、上传镜像

镜像在本地环境构建或是打包好之后,就可以上传到 Registry。Registry表示地址,官网默认不用输入。

docker push registry.cn-hangzhou.aliyuncs.com/用户名/镜像名:版本号

5、启动一个容器

运行helloworld项目 官网镜像:

docker run helloworld

说明,如果运行一个不存在的镜像,会自动从官网拉取。

加速器镜像。

docker run registry.cn-hangzhou.aliyuncs.com/镜像名字

我们先体验一个简单的应用。后续我们再分别讲解如何通过Docker来安装Nginx,Mysql,Redis等应用。再深入一点Docker Compose,DockerFile等。预览主题:

Docker 技术系列之安装Docker for Mac
Docker 技术系列之安装单机版数据库Mysql
Docker 技术系列之安装服务器Nginx
Docker 技术系列之安装单机版本Redis
Docker 技术系列之安装Web服务器Tomcat
Docker 技术系列之安装Docker Compose
Docker 技术系列之DockerFile体验
Docker 技术系列之安装文档数据库MongoDB
Docker 技术系列之安装关系数据库oracle
Docker 技术系列之安装Node.js
Docker 技术系列之安装Web服务器Jetty
Docker 技术系列之安装集群版本Redis
Docker 技术系列之安装集群版数据库Mysql

后续再补充企业级别的Docker+Jenkins+Git实战,同时添加其他的主题。

下面是我的电脑安装的一些应用。

了解更多

第一章 感受mac之美-换一种方式用电脑,开启新历程
第二章 感受Mac 之美-惊艳从Mac 外设开始,一周后的使用感受
第三章  感受Mac之美-万里挑一的装机必备软件
第四章 感受Mac之美-效率提高从操作快捷键开始
第五章 Mac系统软件-安装Java Web开发环境基本软件

 

Docker 技术系列之安装Docker Desktop for Mac的更多相关文章

  1. Docker 技术系列之安装多版本Mysql5.6和Mysql5.7

    大家好,后面的就不是关于MAC专有的内容,基本是跟Java环境,基础技术方面有关.所以这个教程对于在linux系统还是macOS都是通用的,不用担心. 上一篇,我们安装好对应的Docker之后,感受到 ...

  2. docker(一) Centos7下安装docker

    docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...

  3. Docker入门之 - 如何安装Docker CE

    原文:Docker入门之 - 如何安装Docker CE 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012055638/article/det ...

  4. Docker探索系列1之docker入门安装与操作

    preface docker这种时髦的技术我接触的比较晚,如果不是公司在使用这项技术,估计还得会更晚接触.好了,说下我司现在docker使用的情况.docker在我司是用来跑web服务的,里面的web ...

  5. Docker学习系列之一——安装篇

    一.目的 Docker是目前非常流行的虚拟技术,在云计算领域得到了广泛的应用.国内的阿里.京东等大厂都非常普遍地应用了Docker.本文记录了Docker的基本安装过程及最终运行结果,以期备忘,及和同 ...

  6. Docker入门系列2 安装

    可以从 Docker 社区直接下载可用的模版或镜像. Docker容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多. 其次,Docker对系统资源的利用率很高,一台主机上可以同时运行数千个Do ...

  7. Windows玩转Kubernetes系列2-Centos安装Docker

    接上一章,Windows玩转Kubernetes系列1-VirtualBox安装Centos,我们开始学习如何在Centos中安装Docker 准备 关闭防火墙 防火墙一定要提前关闭,否则在后续安装K ...

  8. docker(二) windows10下安装docker

    官方安装文档: https://docs.docker.com/docker-for-windows/install/ https://docs.docker.com/docker-for-windo ...

  9. 史上最全Docker环境安装指南-让安装docker简单到爆

    一.思考❓❔ 1.什么是Docker? 装应用的容器 开发.测试.运维都偏爱的容器化技术 轻量级 扩展性 一次构建.多次分享.随处运行 2.安装Docker难不难? So easy! 此文看过之后,读 ...

随机推荐

  1. 网页中常见返回HTTP状态码含义

    在日常网页浏览的过程中大家经常会碰到400,403,404,500,502等HTTP状态码,这些状态码对于一般用户来说出现什么都是一样的,反正就是页面打不开了,但是作为网站开发人员或者从事相关工作者认 ...

  2. 91)PHP,cookie代码展示

    cookie练习的代码: (1)先设置:setcookie('key值‘,’value值’): (2)然后我执行那个文件, (3)获取我的cookie值,用$_cookie['key值’]  cook ...

  3. Spring Boot 学习笔记(六) 整合 RESTful 参数传递

    Spring Boot 学习笔记 源码地址 Spring Boot 学习笔记(一) hello world Spring Boot 学习笔记(二) 整合 log4j2 Spring Boot 学习笔记 ...

  4. C\C++ 位域操作

    几篇较全面的位域相关的文章: http://www.uplook.cn/blog/9/93362/ C/C++位域(Bit-fields)之我见 C中的位域与大小端问题 内存对齐全攻略–涉及位域的内存 ...

  5. 吴裕雄--天生自然 R语言开发学习:重抽样与自助法(续一)

    #-------------------------------------------------------------------------# # R in Action (2nd ed): ...

  6. 简单了解char和varchar的区别

    一.CHAR和 VARCHAR的区别? 1.CHAR有固定的长度,VARCHAR属于可变长度的字符类型. 2.比如,写入内容到CHAR(10)里,如果内容占用的空间不够10,则会用空格字符补足. 二. ...

  7. e代驾推出新产品“e代喝”,能否实现前者的社交梦?

    近日,关于e代驾推出e代喝的新闻不断出现在各大媒体的新闻报道之中,看似好像是替人排扰解难的征服酒局的又一利器.但事实真的如此吗?首先要弄清楚的,是目前e代驾在行业中的处境.作为代驾行业的先驱者,e代驾 ...

  8. 蚂蚁金服招聘-无线测试开发(20k-36k/月)

    蚂蚁金服-支付宝国际事业部-高级测试开发工程师/测试专家 工作年限:三年以上学历要求:本科期望层级:P6/P7工作地点:上海,杭州,深圳等为什么选择加入我们? 我们的岗位有何不同?1.国际化远景:随着 ...

  9. zookeeper 实战 - Pymjer 的博客

    下载 $ wget http://apache.forsale.plus/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz 配置conf/zoo.cfg ...

  10. TF Notes (5), GRU in Tensorflow

    小筆記. Tensorflow 裡實作的 GRU 跟 Colah's blog 描述的 GRU 有些不太一樣. 所以做了一下 TF 的 GRU 結構. 圖比較醜, 我盡力了- XD TF 的 GRU ...