读Docker技术入门与实战第二版-杨保华-知识总结

前言:

1.电子书804页。

2.Docker三剑客Machine、Compose、Swarm。

第一部分-技术入门:

1.git地址:https://github.com/docker/docker。

2.红帽公司的RHEL6.5/CentOS 6.5往上的操作系统、Ubuntu14.04往上的操作系统,都已经在软件源中默认带有Docker软件包。

3.Docker站在前人的的肩膀上,Linux容器(Linux Containers,LXC)技术。

4.Docker最大优势:快速分发和部署。

5.Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。它们简化了从头到尾的流程并极大的简化了部署工作。

6.公有云和私有云的区别:私有云就是你自己的家,只有自己或者你允许的人能住,一般你不愿意外人知道的隐私都放在家里;公有云就是收费景点,买了门票的都能进。

7.Docker以及其他容器技术都属于操作系统虚拟化这个范畴。

第二部分-核心概念和安装配置

1.Docker三大核心概念:镜像(Image)、容器(Container)、仓库(Repository)。

2.镜像可以将它理解为一个只读的模板。一个镜像可以包含一个基本的操作系统环境。

3.容器是从镜像创建的应用运行实例。可以把容器看做是一个简易版的Linux系统环境(包括root用户权限、进程空间、用户空间和网络空间等)以及运行在其中的应用程序打包而成的盒子。

4.镜像自身是只读的。容器从镜像启动的时候,会在镜像的最上层创建一个可写层。

5.Docker仓库类似于代码仓库,它是Docker集中存放镜像文件的场所。

6.Docker官网:https://www.docker.com/

7.Docker目前只能运行在64位平台上,Docker目前支持的最低Ubuntu版本为12.04 LTS,但实际上从稳定性上考虑,推荐至少使用14.04 LTS版本。Ubuntu发行版中,LTS(Long-Term-Support)意味着更稳定的功能和更长期(目前为5年)的升级支持,生产环境中尽量使用LTS版本。

8.sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。

9.Ubuntu环境下安装Docker

    9.1系统要求

    系统使用Ubuntu14.04 64位版本。

    用户可以通过如下命令检查自己的内核版本详细信息:

$ uname -a 
Linux Host 3.16.0-43-generic #58~14.04.1-Ubuntu SMP Mon Jun 22 10:21:20 UTC
2015 x86_64 x86_64 x86_64 GNU/Linux 
Linux Host 3.16.0-43-generic #58~14.04.1-Ubuntu SMP Mon Jun 22 10:21:20 UTC
2015 x86_64 x86_64 x86_64 GNU/Linux

    或者:

$ cat /proc/version
Linux version 3.16.0-43-generic (buildd@brownie) (gcc version 4.8.2 (Ubuntu
4.8.2-19ubuntu1) ) #58~14.04.1-Ubuntu SMP Mon Jun 22 10:21:20 UTC 2015

 

    9.2添加镜像源:

 

    首先需要安装apt-transport-https包支持HTTPS协议的源:

$ sudo apt-get install -y apt-transport-https

    添加源的gpg密钥:

$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys58118E89F3A912897C070ADBF76221572C52609D

    获取当前操作系统的代号:

 

$ lsb_release -c

    一般情况下,12.04(LTS)代号为precise,14.04(LTS)代号为trusty,15.04代号为vivid,15.10代号为wily。这里获取的  代号为trusty。
    接下来就可以添加Docker的官方apt软件源了

 

$ sudo cat <<EOF > /etc/apt/sources.list.d/docker.list
deb https://apt.dockerproject.org/repo ubuntu-trusty main
EOF

    添加成功后,更新apt软件包缓存

 

$ sudo apt-get update

    9.3开始安装Docker

    安装docker

$ sudo apt-get install docker

    安装docker.io

$ sudo   apt-get install   docker.io

    安装docker-registry

$ sudo apt-get install  docker-registry

    启动docker(安装后我的机器上已经启动了)

$ sudo systemctl  start  docker

10.Windows环境下安装Docker

docker-for-windows官网地址:https://docs.docker.com/docker-for-windows/install/(300多M大小,下载速度超慢,最好挂个VPN)

安装后:查看docker版本是否安装成功。

docker -v

11.配置Docker服务

为了避免每次使用docker命令都要用特权身份,可以将当前用户加入安装中自动创建的docker用户组:

$ sudo usermod -aG docker USER_NAME

 

12.Ubuntu上Docker日志信息在/var/log/upstart/docker.log。

 

13.查看docker版本

$ docker version

14.执行代码中以$开头的,表示为普通用户;以#开头的,表示为特权用户(root)。

 

第三部分:使用Docker镜像

1.可以使用docker pull命令直接从Docker Hub镜像源上下载镜像。

docker pull NAME[:TAG]。NAME是镜像仓库的名称,TAG是镜像标签(往往用来表示版本信息),不填默认为latest(最新版本)。

如:

将从Docker Hub的Ubuntu仓库下载一个最新的Ubuntu操作系统的镜像。

docker pull ubuntu

2.其中镜像的ID信息十分重要,它唯一标识了镜像。在使用镜像ID的时候,一般可以使用该ID的前若干个字符组成的可区分串来替代完整的ID。

3.使用images命令列出镜像

docker images

4.使用tag命令添加镜像标签

docker tag ubuntu:latest myubuntu:latest

5.使用history命令查看镜像历史

docker history ubuntu:14.04

6.搜索镜像

搜索所有自动创建的评价为1+的带nginx关键字的镜像

docker search --automated -s 3 nginx

7.删除镜像

    7.1使用标签删除镜像

docker rmi myubuntu:latest

    7.2当有该镜像创建的容器存在时,镜像文件默认是无法被删除的

    正确的做法是,先删除依赖该镜像的所有容器,再来删除镜像。

docker rm a21c0840213e

    然后再使用id来删除镜像
 

8.创建镜像

包括:基于已有镜像的容器创建、基于本地模板导入、基于Dockerfile创建。

9.导出和载入镜像

    9.1导出镜像

docker save -o ubuntu_14.0.4.tar ubuntu:14.04

    9.2导入镜像

docker load --input ubuntu_14.04.tar

10.上传镜像

可以首先添加新的标签user/test:latest

docker tag test:latest user/test:latest

然后上传

docker push user/test:latest

 

第四部分-操作Docker容器

1.新建容器

docker create -it ubuntu:latest

2.启动容器

docker start af

查看一个运行中的容器

docker ps

3.新建并启动容器

docker run ubuntu /bin/echo 'hello word'

启动一个bash终端,允许用户进行交互

docker run -it ubuntu:14.04 /bin/bash

4.守护态运行(后台运行)

docker run -d ubuntu /bin/sh -c "white true;do echo hello world;sleep 1; done"

获取容器输出信息

docker logs ce5

5.中止容器

 

docker stop ce5

6.进入容器

docker run -itd ubuntu  //后台运行
docker ps  //查看docker容器
docker exec -it 容器ID /bin/bash //进入ubuntu终端

7.删除容器

只能删除处于中止或退出状态的容器,如果需要删除运行的容器,可以添加-f参数

docker rm ce55426471a

8.导出容器

docker export -o test_for_run.tar ce5

9.导入容器

docker import test_for_run.tar - test/ubuntu:v1.0

第五部分-访问Docker仓库

1.Docker官方维护了一个公共镜像仓库https://hub.docker.com

2.镜像下载

docker pull centos

3.使用其他镜像市场的镜像(a里云的具体参照网上教程)

4.搭建本地私有仓库(在一台电脑上搭建私有仓库,可以放入许多镜像,供其他人下载。)

 

第六部分 Docker数据管理

1.数据卷:容器内数据直接映射到本地主机环境。

2.数据卷容器:使用特定容器维护数据卷

(本章介绍了通过数据卷和数据卷容器对容器内数据进行共享、备份和恢复等操作,通过这些机制,即使容器在运行中出现故障,用户也不必担心数据发生丢失,只需要快速地重新创建容器即可。)

(该部分知识点暂时还没有实际涉及到,所以仅仅列出章节标题,供日后查询学习。见下方:)

(6.1数据卷

        6.1.1在容器内创建一个数据卷

        6.1.2挂载一个主机目录作为数据卷

        6.1.3挂载一个本地主机文件作为数据卷

    6.2数据卷容器

    6.3利用数据卷容器来迁数据

        6.3.1备份

        6.3.2恢复)

 

第七部分 端口映射与容器互联(暂无学习需要,仅列出目录)

(7.1端口映射实现访问容器

    7.1.1从外部访问容器应用

    7.1.2映射所有接口地址

    7.1.3映射到指定地址的指定端口

    7.1.4映射到指定地址的任意端口

    7.1.5查看映射端口配置

7.2互联机制实现便捷互访

    7.2.1自定义容器命名

    7.2.2容器互联)

 

第八部分 使用Dockerfile创建镜像

 

原文:http://blog.maptoface.com/post/27

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全职计算机毕业设计

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值