本文地址:https://www.cnblogs.com/veinyin/p/10406378.html 

Docker 是一个容器,可以想象成一个轻便的虚拟机,但不虚拟硬件和操作系统。

优点:启动快、占用内存小、运行环境一致,便于开发测试、便于维护。

基本概念:镜像、容器、仓库

镜像:一个特殊的文件系统,提供容器运行时所需文件以及运行时的配置参数,不包含动态数据,内容在构建之后不改变,由多层文件系统联合而成。

容器:相当于镜像的一个实例,实质是进程。容器应将数据写入数据卷中,避免写入容器存储层。

仓库:存储、分发镜像,可以在其他服务器上使用某个镜像。

安装

macOS

1. homebrew 下载安装

brew cask install docker

2. 安装完成后,在应用程序中点击 docker 图标,运行 docker

3. 打开终端,输入以下命令,出现版本号(必须有第2步操作)

docker --version

4. 在终端中继续输入以下命令,出现 docker 相关信息

docker info

5. 运行 Nginx 服务器,访问 http://localhost 出现 Welcome to nginx! 则docker 安装成功

docker run -d -p 80:80 --name webserverName nginx

6. 停止与删除命令

docker stop webserverName
docker rm webserverName

Linux (Ubuntu)

以下命令全部加 sudo 或者以 root 身份操作

1. 由于apt官方库里的docker版本可能比较旧,卸载旧版本

sudo apt-get remove docker docker-engine docker-ce docker.io

2. 安装可选内核模块包

sudo apt-get update
sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual
3. 安装使用 HTTPS 传输的协议包和 CA 证书 
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

4. 添加 Docker 官方的 GPG 秘钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

5. 向 source.list 中添加 Docker 软件源

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

stable 指稳定版,edge 最新版,test 测试版

6. 安装 Docker CE

sudo apt-get update  // 更新 apt 索引包
sudo apt-get install docker-ce

Docker CE 可能需要安装特定版本,下面命令会列出可用版本

apt-cache madison docker-ce

安装某个特定版本的 Docker CE

sudo apt-get install docker-ce=version
7. 启动
sudo systemctl enable docker
sudo systemctl start docker
sudo docker run hello-world

看到输出 Hello from Docker!则安装成功

 

镜像加速

macOS

任务栏 docker 图标 > Perferences > Daemon > Registry mirrors 填入加速器地址,点击 Apply & Restart 按钮

https://registry.docker-cn.com

打开终端,输入 docker info,如果倒数几行出现如下内容,则配置成功

Registry Mirrors:
https://registry.docker-cn.com

Ubuntu

在 /etc/docker/deamon.json 中写入以下内容并重启服务,如文件不存在则新建文件

{
"Registry Mirrors": [
"https://registry.docker-cn.com"
]
}

必须要用双引号引起来!这是 json 文件,必须符合 json 规范,否则会出错!

END~~~≥ω≤

Docker学习笔记一 概念、安装、镜像加速的更多相关文章

  1. docker学习笔记(3)- 镜像

    简介 在docker学习笔记(1)- 架构概述一节中可以看到镜像是docker三大组件之一,可以将Docker镜像类比为虚拟机的模版. 镜像由多个层组成,每层叠加之后从外部看就像一个独立的对象,镜像的 ...

  2. docker学习笔记1-- 用Toolbox安装Docker--介绍Docker Machine

    使用的是Docker Toolbox,非Docker for Windows 一.docker的认识与安装(windows安装) http://blog.csdn.net/tina_ttl/artic ...

  3. Docker学习笔记 - 创建私有的镜像仓库

    一.查找镜像仓库 https://hub.docker.com/ 二.下载镜像仓库 docker pull registry:2.6.2 三.安装镜像仓库 docker run -d -p 6000: ...

  4. Docker学习笔记之创建安装了nginx服务器的镜像

    操作步骤: 1. 编辑Dockerfile 2. 使用build命令创建镜像 3. 使用run命令测试创建的镜像 编辑Dockerfile 首先,需要使用文本编辑器编辑Dockerfile文件(注意没 ...

  5. docker学习笔记7:发布镜像到docker hub上

    镜像创建好后,很重要的一个操作就是共享和发布.可以将自己创建的镜像发布到docker hub上,也可以发布到自己的私有docker hub上. 要想发布镜像到dokcer hub上,首先要在dokce ...

  6. Docker学习笔记_删除某个镜像

    实验:删除某个镜像 sudo docker rmi [Image ID] 1.查看镜像的ID                  sudo docker images 2.删除镜像            ...

  7. docker学习笔记-1

    docker学习笔记一:安装 mac安装docker docker官方文档上有这么一段话: Because the Docker daemon uses Linux-specific kernel f ...

  8. Docker:学习笔记(1)——基础概念

    Docker:学习笔记(1)——基础概念 Docker是什么 软件开发后,我们需要在测试电脑.客户电脑.服务器安装运行,用户计算机的环境各不相同,所以需要进行各自的环境配置,耗时耗力.为了解决这个问题 ...

  9. Docker学习笔记之-在CentOS中安装Docker

    上一节演示了如何 通过Xshell连接CentOS服务,链接:Docker学习笔记之-通过Xshell连接 CentOS服务 本节将演示 如何在CentOS中安装 Docker 第一步:更新系统包到最 ...

随机推荐

  1. 面向 Kubernetes 编程: Kubernetes 是下一代操作系统

    转自:https://github.com/answer1991/articles/blob/master/Kubernetes-is-the-next-generation-os.md 摘要 此文章 ...

  2. java第二次实验报告

    课程:Java实验   班级:201352     姓名:池彬宁  学号:20135212 成绩:             指导教师:娄佳鹏   实验日期:15.05.05 实验密级:         ...

  3. Linux 信号:signal 与 sigaction

    0.Linux下查看支持的信号列表: france@Ubuntux64:~$ kill -l ) SIGHUP ) SIGINT ) SIGQUIT ) SIGILL ) SIGTRAP ) SIGA ...

  4. iOS中block循环引用问题

    1.block是控制器对象的一个属性,则在block内部使用self将会引起循环应用 typedef void(^TestBlock)(); @interface SecondViewControll ...

  5. d3 数学方法(伪随机数生成器 )

    一.正态(高斯)分布(normal (Gaussian) distribution)的随机数 /* var nomarlRandmo = d3.random.normal(); console.log ...

  6. Linux命令(十二) 分割文件 split 合并文件 join

    一.分割文件 split 命令介绍 当处理文件时,有时需要将文件做分割处理,split 命令用于分割文件,可以分割文本文件,按指定的行数分割,每个分割后的文件都包含相同的行数.split 可以分割非文 ...

  7. Java多线程1:进程和线程的区别

    之前看了2天的多线程,就不看了.现在继续拾起来吧.最近有点松散,多线程内容都是看毕向东的视频以及网络教程和各种书籍 什么是进程? 通俗一点讲,就是正在进行的程序,进程是操作系统控制的基本运行单元: 如 ...

  8. javascript面向对象系列第五篇——拖拽的实现

    前面的话 在之前的博客中,拖拽的实现使用了面向过程的写法.本文将以面向对象的写法来实现拖拽 写法 <style> .test{height: 50px;width: 50px;backgr ...

  9. python day4 ---------------文件的基本操作

    1.能调用方法的一定是对象,比如数值.字符串.列表.元组.字典,甚至文件也是对象,Python中一切皆为对象. str1 = 'hello' str2 = 'world' str3 = ' '.joi ...

  10. BZOJ3434 WC2014时空穿梭(莫比乌斯反演)

    考虑枚举相邻点距离差的比例.显然应使比例值gcd为1以保证不重复统计.确定比例之后,各维坐标的方案数就可以分开考虑.设比例之和为k,则若坐标上限为m,该维坐标取值方案数即为Σm-ki (i=1~⌊m/ ...