本文地址: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. Git 命令简单罗列

    源教程出自 廖雪峰的官方网站 https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 整 ...

  2. 微软职位内部推荐-Senior NLP Scientist

    微软近期Open的职位: Job Title: Senior NLP Scientist Location: Suzhou, China Suzhou, one of the most vibrant ...

  3. PAT甲题题解-1104. Sum of Number Segments (20)-(水题)

    #include <iostream> #include <cstdio> #include <algorithm> #include <string.h&g ...

  4. Daily Scrum 12.22

    姓名 上周末任务 今日任务 刘垚鹏 完善和增加quiz页面的过滤功能 完善和增加quiz页面的过滤功能 王骜 对问答功能的修复 对问答功能的修复 林旭鹏 存储文件路径太长导致bug修复 存储文件路径太 ...

  5. MyEclipse同时配置多个tomcat

    步骤: 1.可以把原有tomcat复制一份,或者下载新的tomcat,如果有必要的话,修改/conf/service.xml文件中tomcat的端口号,避免端口同时暂用出现错误 2.请看一下图片:打开 ...

  6. Java的三大特性:封装、继承、多态

    一.类的概念: 类一般包括两个部分:属性(成员变量)和方法(成员方法)方法组成部分:修饰符(可选) 返回值类型(必须) 方法名(必须)参数列表(可选) package com.classTest.pr ...

  7. k8s 实验过程中遇到的两个小问题 端口 和 批量删除Error的pods

    1. 自己kubeadm搭建的一套k8s系统 然后进行做实验 发现了几个问题 jenkins 创建 salves的时候总是有问题.  提示注册不上 然后 我修改了下yaml文件 暴露端口 50000 ...

  8. c语言和c++有什么区别

    差不多是win98跟winXP的关系.C++是在C的基础上增加了新的理论,玩出了新的花样.所以叫C加加. C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输 ...

  9. 【BZOJ1025】[SCOI2009]游戏(动态规划)

    [BZOJ1025][SCOI2009]游戏(动态规划) 题面 BZOJ 洛谷 题解 显然就是一个个的置换,那么所谓的行数就是所有循环的大小的\(lcm+1\). 问题等价于把\(n\)拆分成若干个数 ...

  10. NO.6: 为多态基类声明virtual析构函数

    注意:polymorphic base class 应该具有虚析构函数,如果class带有任何virtual函数,也应具有虚析构函数 class不具备polymorphic属性则不应该声明virtua ...