美文网首页
细说docker第一篇

细说docker第一篇

作者: 罗华博客 | 来源:发表于2018-08-31 10:11 被阅读0次

学习任何一门新东西之前,我们都应该设立学习目标,清楚的了解目标都有哪些知识点,通过以点带面的方法,将各个知识点逐个击破,最后在加以练习,到此阶段已经小成,如果想达到宗师级别,除了勤学苦练,还要实际运用所学知识点,此阶段大成。(其实本人也是小菜鸟一枚,之前学习也是和无头苍蝇一样,不知道怎么学,刚说的这些,只是本人学习的一种方法,仅供大家参考,不一定适合所有人,找到自己的学习方法才是最好的方法)。言归正传,今天要说的就是docker,本篇会简单介绍docker的概念和学习路线图以及安装和基本操作

一、docker学习路线图,全貌了解docker (会当凌绝顶 ,一览众山小)

本篇的目标是先说第一章

Docker学习路线图 (2).jpeg

二、docker介绍

2.1、docker的资源

https://www.docker.com/    #docker官网
https://hub.docker.com/    #docker的官方镜像平台
http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/    #windows下的docker安装包下载,适用于win8、win7
http://wiki.jikexueyuan.com/project/docker/    # 极客学院的docker教程
http://www.docker.org.cn/index.html    #docker中文社区

2.2、docker是什么

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

翻译:docker是一个go语言编写的软件,码农们在也不用担心环境不一致了,只要将写好的代码或者使用的环境统一放到这个软件上就行了,这个软件很牛逼,在任何的linux操作系统上都能运行,而苦逼的码农也不用在每个linux上安装环境或者部署了,只需要安装个docker 就行了,历不历害

2.3、docker应用场景

  • 应用打包与部署自动化
  • 部署与扩展webapp、数据库和后台服务
  • 创建轻量、私密的PAAS环境
  • 实现自动化测试和持续的集成/部署

2.4、docker工作流程

传统方式

如果是做web后台开发,将会是以下步骤,分别在测试机和生产机上部署环境,部署时要先把web服务(apache、nginx、tomcat)安装好,接着在安装语言解释器,然后在安装数据库(mysql、oracle)等,这其中还不包括一些的扩展,总之是很麻烦,而且要重复工作
如果是前端开发,也会面临同样的问题, 在以前开发前端,我们只要一个记事本就可以开发了,但是现在的前端发展越来越快,依赖的东西也非常多,拿vue举例,首先得安装nodejs、npm、cnpm、vue、webpack、打包等一系列开发环境

容器方式

  1. 安装Docker
  2. 下载相应的镜像
  3. 通过Docker的容器来运行项目

2.5、docker 架构

docker采用c/s架构模式,服务端对应着docker daemon, 客户端docker-cli

  • docker-daemon: Docker Daemon我们称之为Docker守护进程,也就是Server端,Server端可以部署在远程,也可以部署在本地,因为Server端与客户端(Docker Client)是通过Rest API进行通信。
  • docker-cli: docker CLI 实现容器和镜像的管理,为用户提供统一的操作界面,这个 客户端提供一个只读的镜像,然后通过镜像可以创建一个或者多个容器(container),这些容器可以只是一个RFS(Root File System),也可以是一个包含了用户应用的RFS。容器在docker Client中只是一个进程,两个进程是互不可见的。
4f08e87c717869c2c093a048d1a001a4.png

2.6、docker三大基础组件

  • 镜像(images) 提供了一个基本的操作系统环境,用户可以根据需要安装和配置软件(相当于工厂的模具)
  • 容器(container)docker利用容器来开发、运行应用,(相当于利用模具生产出来零件)
  • 仓库(repository) 和git上的仓库类似,默认的是docker的公共仓库(存放模具的仓库)

三、docker两种安装方式

docker 从1.13.X版本开始,版本分为社区版和企业版,其中版本号也按时间线来发布 ,比如 18.06.0-ce-rc2版本,本次会分别介绍在centos上的两种安装方法,安装方法都大同小异,只要一步一步的来进行即可,两种安装方式可以选择任意一种

3.0、 环境要求以及说明

  • linux的内核版本3.10以上
  • 要求系统必须是64位
  • centos7以上 ,centos6的内核都是2.x系列
#查看自己系统的内核的信息
[root@host ~] uname -a
Linux iz2zefcchx6gp96z80tkqzz 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

3.1、1.13版本以前的安装方法

#搜索是否有docker的rpm包
yum search docker-io 
#安装docker
yum install docker-io  
  • 查看docker的版本信息
[root@host ~] docker version
Client:
 Version:         1.13.1
 API version:     1.26
 Package version: <unknown>
 Go version:      go1.8.3
 Git commit:      774336d/1.13.1
 Built:           Wed Mar  7 17:06:16 2018
 OS/Arch:         linux/amd64

Server:
 Version:         1.13.1
 API version:     1.26 (minimum version 1.12)
 Package version: <unknown>
 Go version:      go1.8.3
 Git commit:      774336d/1.13.1
 Built:           Wed Mar  7 17:06:16 2018
 OS/Arch:         linux/amd64
 Experimental:    false
  • docker服务启动
#启动、停止、重启、重载
service docker start | stop | restart | reload  

#查看docker的容器的命令,发现为空,这是正常的,因为还没有容器
docker ps  
  • docker 运行hello-world,先不说容器和镜像,先照着操作,下面会具体讲这些
docker run hello-world
#运行命令之后,出现hello-world证明安装成功,一切正常
[root@host ~] docker run hello-world
Unable to find image 'hello-world:latest' locally
Trying to pull repository docker.io/library/hello-world ... 
sha256:4b8ff392a12ed9ea17784bd3c9a8b1fa3299cac44aca35a85c90c5e3c7afacdc: Pulling from docker.io/library/hello-world
9db2ca6ccae0: Pull complete 
Digest: sha256:4b8ff392a12ed9ea17784bd3c9a8b1fa3299cac44aca35a85c90c5e3c7afacdc
Status: Downloaded newer image for docker.io/hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

3.2、社区版的安装方法,安装方法稍有不同(注意以下是另外一种安装方式,不要看错了)

  • 卸载旧版本
yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-selinux \
    docker-engine-selinux \
    docker-engine
  • 安装yum工具包等
yum install -y yum-utils \
    device-mapper-persistent-data \
    lvm2
  • 配置docker的yum源
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
  • 安装社区版
yum install docker-ce
  • 启动docker服务
systemctl start|stop|restart docker   #启动方式和上面的略有不同
  • 运行hello-world,和上面的几乎是一样
docker run hello-world
  • 查看docker的版本列表
[root@bogon system] yum list docker-ce --showduplicates | sort -r
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
已加载插件:fastestmirror
已安装的软件包
可安装的软件包
 * updates: mirrors.tuna.tsinghua.edu.cn
Loading mirror speeds from cached hostfile
 * extras: mirrors.tuna.tsinghua.edu.cn
docker-ce.x86_64         18.06.0.ce-2.2.rc2.el7                 docker-ce-test  
docker-ce.x86_64         18.06.0.ce-2.2.rc2.el7                 @docker-ce-test 
docker-ce.x86_64         18.06.0.ce-2.1.rc1.el7                 docker-ce-test  
docker-ce.x86_64         18.05.0.ce-3.el7.centos                docker-ce-test  
docker-ce.x86_64         18.05.0.ce-2.1.rc1.el7.centos          docker-ce-test  
docker-ce.x86_64         18.04.0.ce-3.el7.centos                docker-ce-test  
docker-ce.x86_64         18.04.0.ce-2.2.rc2.el7.centos          docker-ce-test  
docker-ce.x86_64         18.04.0.ce-2.1.rc1.el7.centos          docker-ce-test  
docker-ce.x86_64         18.03.1.ce-1.el7.centos                docker-ce-test  
docker-ce.x86_64         18.03.1.ce-1.el7.centos                docker-ce-stable
docker-ce.x86_64         18.03.1.ce-0.2.rc2.el7.centos          docker-ce-test  
docker-ce.x86_64         18.03.1.ce-0.1.rc1.el7.centos          docker-ce-test  
docker-ce.x86_64         18.03.0.ce-1.el7.centos                docker-ce-test  
docker-ce.x86_64         18.03.0.ce-1.el7.centos                docker-ce-stable
docker-ce.x86_64         18.03.0.ce-0.4.rc4.el7.centos          docker-ce
yum in
  • 安装指定版本
yum install  docker-ce-18.06.0.ce-2.2.rc2.el7 

相关文章

网友评论

      本文标题:细说docker第一篇

      本文链接:https://www.haomeiwen.com/subject/fffswftx.html