• Docker 技术系列之安装Docker Desktop for Mac


    终于要进入到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开发环境基本软件
     
  • 相关阅读:
    javaweb学习总结(五)——Servlet开发(一)
    机器学习(1)2017.3.2
    Java中三种变量
    Java中javadoc注释使用规则 转
    java中main函数的位置必须在public class类中么? (eclipse,editplus环境下)
    【C++】 私有成员变量的理解
    怕忘了
    隐写命令方法总结-(研究生创新联盟高校首届研究生网络与信息安全技术大赛)
    kali源
    几款chrome扩展和应用
  • 原文地址:https://www.cnblogs.com/liuhongfeng/p/12505743.html
Copyright © 2020-2023  润新知