![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Docker基础
Anthony_tester
这个作者很懒,什么都没留下…
展开
-
Docker基础-1-Docker概述
新写一个系列的学习笔记,介绍Docker如何入门到基本掌握。在现在的软件行业,如果你没有使用过Docker,那没关系,如果你连听说过都没有,那就是你有问题了。Docker太火了,从2013年到现在,你没有听说过,说明你对行业动态一点都不了解。本系列文章,我会根据我在Docker官网的文档和相关视频教程,以及我少量的工作相关经验来描述,什么是Docker,如何学习Docker,完整的...原创 2019-01-12 16:56:23 · 2829 阅读 · 1 评论 -
Docker基础-14-Dockerfile实战练习2
前面我们学习了Dockerfile的语法,大部分的指令都介绍过了。今天就来一个Dockerfile的练习。把一个python中的flask web程序打包成镜像,这个镜像包括python编译环境和flask web程序输出hello world的python代码。 1 程序准备这是一个python中一个web框架的一个简单例子,flask程序的一个hello world的入门例子。...原创 2019-02-07 23:53:48 · 2172 阅读 · 1 评论 -
Docker基础-15-容器操作
前面一直在学习Docker命令和Dockerfile语法和相关练习,还有就是docker如何push镜像到共有仓库和私有仓库。这篇再来介绍或者复习几个docker容器的命令,也就是做一些容器常见的操作练习。docker exec这个命令docker exec是对运行状态的容器进行执行一个命令,exec就是execute的简写,单词就是执行的意思。例如我们基本上容器都是说linux环境下的容...原创 2019-02-09 19:52:42 · 678 阅读 · 1 评论 -
Docker基础-16-网络-Linux网络命名空间
前面学习的Docker一些知识真的是基础中的基础,镜像的制作过程,简单的Dockerfile你会写一些,镜像的操作和容器操作那几个常见的命令也基本上都介绍过了。如果你知识想简单了解并玩一玩Docker,到这里,差不多学习完了。接下来几篇文章,我们重点来学习Docker里面的网络模块。学习Docker,先学习镜像操作,然后学习容器操作,剩下的网络和存储的部分,学习是有一点困难的。学习网...原创 2019-02-10 23:08:14 · 1398 阅读 · 0 评论 -
Docker基础-17-网络-两个容器为什么能通信
本篇继续来学习Linux中的网络命名空间的知识。https://www.jianshu.com/p/369e50201bce linux命名空间一篇参考文档。本篇不展开网络命名空间的学习,先来看看docker环境下的不同场景下(容器里和linux主机外层)网络命名空间的变化,有几个特点先拿出来,重点说明为什么两个容器很互相访问。 网络命名空间信息解读我在我docker机器,先不允许任何...原创 2019-02-11 23:42:27 · 1720 阅读 · 0 评论 -
Docker基础-20-网络-容器link关系和新建bridge网络
本篇来学习几个docker的使用不是很频繁的知识点。第一个是容器之间的link操作,第二个是如何把容器连接到我们自己新建的bridge网络,我们前面知道,默认容器启动之后都是连接到docker0这个bridge网络,这里我们来演示下连接到我们自定义的bridge网络。 容器之间link关系 一般使用link的场景是这样的,加入在一个企业环境中,我们有一个mysql的服务的容器mys...原创 2019-02-23 21:47:52 · 1266 阅读 · 1 评论 -
Docker基础-21-网络-none和host网络
前面两篇文章,其实我们都是在学习docker单机网络模式下的bridge模式,现在,我们还没有学习none和host这两个网络模式。这篇,就来介绍下这两种网络,none和host网络其实很简单,就bridge0很复杂,也很强大,使用也最多。 Docker中none网络我们先来看看none网络环境准备,先stop和rm掉全部之前开启的容器。并且把前面创建的my-bridge网...原创 2019-02-23 23:00:59 · 1192 阅读 · 0 评论 -
Docker基础-18-网络-两个网络命名空间网络通信配置过程
本篇继续学习linux的网络命名空间,主要介绍如何创建和删除一个linux network namespace,然后通过最底层的linux network namespace来解释前面一篇两个容器可以互相ping同的原理。 查看本机的network namespace上面查询,我本机没有network namespace。如何创建一个network namespace如...原创 2019-02-19 22:00:00 · 1702 阅读 · 1 评论 -
Docker基础-19-网络-bridge模式和docker0详解
前面我们学习了两个容器和两个网络命名空间的通信过程,这篇来学习docker中的一种网络模式叫bridge,同时docker中单机网络还有host模式和none模式。这篇来详细学习下bridge,这个bridge就是表现形式就是前面我们看到的docker0这个网络接口。多个容器都是通过docker0这个接口,然后才行通信。也通过docker0去和本机的以太网接口连接,所以容器内部才能...原创 2019-02-20 21:55:57 · 15217 阅读 · 1 评论 -
Docker基础-23-数据-数据持久化之Bind Mouting
前面一篇介绍了数据持久化Data Volume,这篇继续来介绍数据持久化的另外一种方式,叫Bind Mouting。这个和Data Volume的区别是什么?Data Volume是需要在Dockerfile里面定义VOLUME对象(例如有这么一定义VOLUME /var/lib/mysql),在Bind Mouting不需要在Dockerfile中定义,只需要在创建容器的过程中,通...原创 2019-03-08 23:34:36 · 651 阅读 · 2 评论 -
Docker基础-13-如何发布一个镜像到私有的docker仓库
本篇来介绍如何搭建自己的Docker registry,用来存储和分发自己私人的镜像文件。前面一篇使用docker push默认是发布镜像到hub.docker.com这个公有的镜像站点,这篇主要介绍私有镜像站点的在本地的搭建过程。 准备第二个Linux虚拟机前面我们只准备了一台linux虚拟机用来练习和学习Docker,现在重新克隆一台虚拟机,这样新的虚拟机就不再需要安...原创 2019-02-07 17:31:13 · 2785 阅读 · 0 评论 -
Docker基础-12-如何发布一个镜像到hub.docker仓库
这篇来学习Docker镜像的发布过程。前面我们学习了如何从docker hub网站pull一个镜像到本地,以及如何使用Dockerfile制作一个镜像。我们在从hub.docker网站pull镜像是不需要登录用户账户,但是如何使用push命令,就需要先登录账号。 发布镜像命令 没有权限的错误我们前面文章我已经制作了一个镜像,hello-docker,就是下面红圈这个。...原创 2019-02-05 22:45:44 · 1161 阅读 · 0 评论 -
Docker基础-2-Docker在win10上安装过程
前面一篇介绍了Dokcer概述,简单了解了下什么是Docker,以及Docker能做什么,还有虚拟化和容器化对比。现在,我们需要安装好Docker环境,然后做不同的demo练习。Docker支持在windows上和linux和Mac上安装,在安装之前,我们来了解下Docker的版本。在2017年3月份,Docker开始区分社区版,也就是免费的,简称CE版,还有一个企业版,是收费的,...原创 2019-01-12 22:21:02 · 1633 阅读 · 1 评论 -
Docker基础-3-Docker在CentOS上安装过程
前面一篇我介绍了如何在一个win10的系统上安装docker,而且说过,一般不在windows上安装docker,一般不管学习还是工作的环境,基本上都是linux操作系统上安装docker。这篇,就来介绍如何在一个centos环境下安装docker。1.虚拟机软件准备可以去百度搜索vmware workstation 或者virturlbox等虚拟化软件,我使用的是workstation,...原创 2019-01-13 12:18:30 · 1316 阅读 · 0 评论 -
Docker基础-4-Docker架构和底层技术实现初探
前面,不管你是win10安装docker环境还是,在一个虚拟机的centos7上安装docker,我默认你已经学会了docker的安装。在开始正式学习docker的相关概念和知识之前,我们来简单了解和学习了docker架构和底层技术实现。先从宏观上过一遍docker的架构和底层技术实现,后续文章慢慢学习docker具体知识,后面学习,我们会慢慢理解docker的架构和一些底层技术。...原创 2019-01-13 23:07:52 · 1646 阅读 · 1 评论 -
Docker基础-5-image概述
本篇来简单了解下什么是镜像和镜像的几个基本操作命令1.什么是image 尝试观察上面这个图,理解镜像有以下几个特点1)镜像是文件和meta data的集合(root filesystem)例如一个centos的镜像,里面包含一些最精简版的centos文件系统,还有其他软件包等文件。2) 镜像是分层的,每层都可以添加删除改变文件,成为一个新的image举例,我在1)中...原创 2019-01-14 22:56:28 · 1463 阅读 · 0 评论 -
Docker基础-7-使用Dockerfile DIY第一个镜像
前面我们把Docker的学习环境搭建好了,也学习了一些镜像的命令,这篇来简单学习下dockerfile制作一个镜像文件,代码只有三行,先制作一个基础的镜像文件。复杂的dockerfile我们暂时不关心。1.创建一个hello-docker的文件夹2.创建一个hello.c文件,代码如下,然后编译成可执行文件保存文件,注意上面分号。要编译c语言代码,我们需要借助gcc这个工具...原创 2019-01-20 22:10:47 · 2171 阅读 · 0 评论 -
Docker基础-6-如何配置docker从中国官网仓库下载,提升镜像拉取速度
Docker环境配置两个技巧,一个是普通linux用户每次输入docker命令,不用加上sudo。第二个技巧是设置成中国地区docker镜像仓库下载,提升镜像拉取速度。1. 如何让普通输入不输入sudo docker images,而是直接输入docker images有时候我们linux机器并没有管理员账号,你只是一个普通的用户,你发现,如果你不在docker前面加上sudo,你直接输入...原创 2019-01-15 22:55:35 · 2153 阅读 · 0 评论 -
Docker基础-8-初识container
前面介绍了什么是镜像(image)和镜像的简单操作,例如查看当前系统有哪些镜像,如何从仓库拉取镜像,如何通过dockerfile制作一个镜像。前面我们在制作容器之后,使用了docker run这个命令,通过这个命令,其实就产生了一个容器。这篇,我们开始学习容器,这篇主要了解下什么是容器。上面这张图,可以辅助我们去理解下面几个容器的特点。通过image创建 在image layers之...原创 2019-01-31 21:49:47 · 1081 阅读 · 1 评论 -
Docker基础-9-docker命令(一)
到目前为止,我们学习docker里面的image和container的基本知识,也涉及到了一些docker命令。这篇,我们就来完整地学习docker命令,通过本篇学习,你就会知道如何去查询命令和大概知道哪些命令的基本作用是干嘛的,还有有些命令是可以简写的。docker所有命令Help查询我们在linux中,先通过service docker status检查下docker服务是否启动。启动...原创 2019-02-03 21:14:59 · 1056 阅读 · 0 评论 -
Docker基础-10-docker命令(二)
这篇,继续来学习docker命令,上面一篇介绍到了如何通过容器,利用commit命令来制作镜像文件,再次强调,这种方式不推荐。我们推荐分享你写的Dockerfile文件,别人就能通过Dockerfile来构建镜像,这个比容器commit的方便很多,而且更安全。因为别人不知道你容器有什么配置,病毒什么的。命令cp这个复制文件命令是在容器里面和本地系统进行文件拷贝。还是上一篇环境,通过do...原创 2019-02-03 22:33:00 · 743 阅读 · 0 评论 -
Docker基础-11-Dockerfile语法基本介绍
前面我们学习了docker的一些命令,这篇来详细学习Dockerfile中的语法。前面,说过了,我们制作镜像文件,只推荐通过Dockerfile的方式去docker build出来。也就是,你要发布一个镜像,你得先学习如何写一个Dockerfile,就是先要学习Dockerfile的基本语法和使用举例。 一个centos7 base image官方Dockerfileh...原创 2019-02-05 21:31:16 · 1111 阅读 · 5 评论 -
Docker基础-22-volume-数据持久化之data volume
前面基本上把docker网络学习了一遍,docker中多机网络overlay网络,这里由于暂时不学习,在docker基础中。前面文章,我们学习了image, container, network, 接下来,我们要学习docker的持久化存储和数据共享的相关知识。上面这个图在前面容器和镜像区别我们学习过,这里我们重点看container layer,这是我们接下来好几篇文章需要学习的...原创 2019-03-05 22:54:24 · 919 阅读 · 0 评论