Docker学习笔记(1)----认识Docker】的更多相关文章

0x00 概述 既然 Docker 是一款实用软件,我们就不得不先从它的安装说起,只有让 Docker 运行在我们的计算机上,才能更方便我们对 Docker 相关知识和使用方式的学习.得益于与商业性的优雅结合,Docker 背后拥有大量的优秀开发者为其提供技术支持,而这个优势所造就的结果之一,就是 Docker 拥有丰富且完善的安装体系,我们可以很轻松的通过多种方式安装和运行 Docker. 0x01 安装前的准备 由于 Docker 容器实现本身就采用了 Linux 内核中很多的特性,所以它自…
1.如果docker主机不需要通过代理连接外网 则docker的相关命令(如docker search)或docker容器与网络相关的操作都可以正常进行,不需要特殊设置. 2.当docker主机 是通过代理才能连接外网时,采用服务方式启动守护进程 如果docker守护进程是通过服务的方式启动的(sudo start docker) 当我们执行如  docker search ubuntu 命令时,会报错Error response from daemon: Get https://index.d…
安装好docker后,需要启动docker守护进程.有多种启动方式. 一.服务的方式 因为docker守护进程被安装成服务.所以,可以通过服务的方式启停docker守护进程,包括查看状态. sudo start docker  //启动 sudo stop docker  //停止 sudo status docker  //查看状态 二.利用docker daemon命令 sudo docker daemon 利用sudo ps -A 可以获取守护进程的进程号 三.让远程api可以访问dock…
0x00 概述 通过之前的介绍,我们已经基本掌握了构建.运行容器的方法,但这还远远不够,由于 Docker 采用轻量级容器的设计,每个容器一般只运行一个软件,而目前绝大多数应用系统都绝不是一个软件所能组成的.虽然我们之前提到了容器间互相连接.交换数据的各种方法,通过这些方法足以搭建起完整的用于应用系统运行的容器群,但是这显然还不够,这个容器群的搭建需要执行太多命令,更重要的是需要考虑太多应用和容器间的依赖关系处理,是一波令人头大的操作.在这一节中,我们就来介绍如何解决这些问题. 0x01 解决容…
0x00 概述 在掌握 Docker 的一些背景知识后,我们还不得不花费一节的篇幅来简单介绍有关 Docker 核心的一些知识.当然,大家不要觉得有“核心”这类的词,我们就要在这一节中深入 Docker 底层去讲解原理性的东西,更确切的说这一节更像一张词汇表,在掌握这些与 Docker 紧密相关的词汇后,大家可以更好的理解之后小节中的内容. 0x01 四大组成对象 在之前的小节里,我们提到了 Docker 实现容器引擎的一些技术,但那些都是一些相对底层的原理实现,在 Docker 将它们封装后,…
前言 Docker不仅是一个强大的服务器部署工具,而且它还有一个官方的Docker Hub registry用于储存Docker镜像.上传镜像到Docker Hub是免费的,上传的镜像文件同时也对公共领域开放,而这可能不是我们想要的. 本文介绍如何配置一个私有的Docker registry,在此上传的镜像是私密的,你可以从另一个联网的主机以安全的方式下载此registry上的镜像. 本文仅介绍registry的创建,而不讨论应用的容器化.有关Docker镜像创建的操作可参考这篇Docker入门…
一.Docker命令: 1.docker images   //命令用来查看docker中所包含的镜像信息 2.docker ps -a    //命令用来查看docker中所包含所有容器信息(运行状态/不运行状态) 3.docker ps     //命令用来查看docker中所有正在运行的容器信息 4.docker build -it 镜像name:镜像tag Dockerfile所在路径    //这是通过Dockerfile来构建一个镜像 5.docker run -d -p  宿主机端…
Docker的核心组件包括: Docker客户端和服务器,也称为Docker引擎: Docker镜像: Registry: Docker容器. 1.Docker客户端和服务器 Docker是一个客户端/服务器(C/S)架构的程序.Docker客户端只需向服务器或守护进程发出请求,服务器或守护进程将完成所有工作并返回结果.Docker守护进程又是也称为Docker引擎.Docker提供了一个命令行工具docker以及一整套RESTful API来与守护进程交互.用户可以在统一台主机上运行Docke…
简介 Docker是一个开源的应用容器,开发者可以打包其应用以及依赖到一个可移植的容器当中.当然容器与容器之间不存在任何接口,完全独立.最大程度的解决了我的软件只能不能在你的电脑上运行的尴尬局面.开发者可以将容器发布到任何流行的Linux或者Windows机器上运行. Docker组成 DockerClient 客户端 docker run DockerDaemon 守护进程 DockerImage 镜像 DockerContainer 容器 Docker Registry 仓库 Docker…
一.帮助命令: 1.查看版本:docker version 2.查看信息:docker info 3.查看帮助信息:docker --help 二.镜像命令: (一).查看已有镜像: 1.命令:docker images 2.option说明: (1)-a 列出本地所有的镜像(含中间映像层) (2)-q 只显示镜像ID (3)--digests 显示镜像的摘要信息 (4)--no-trunc 显示完整的镜像信息 (二).查看docker hub 上的镜像: 1.命令:docker search…
一.docker原理 1.什么是docker:解决了运行环境和配置问题的容器,方便做持续集成并有助于整体发布的容器虚拟化技术. 2.虚拟机的缺点:(1)资源占用多:(2)冗余步骤多:(3)启动慢,分钟级. 3.容器:容器不需要捆绑一整套操作系统,只需要打包软件工作所需的库资源和设置,可以看做是小型的.浓缩版的Linux系统. 4.容器与传统虚拟化技术的区别: (1)容器启动更便捷:传统虚拟机技术要虚拟出一套硬件,在其上运行一个完整的操作系统,再运行所需的应用进程:而容器内的应用进程直接运行于宿主…
Docker仓库服务器名为Docker注册(registry)服务器.可以使用docker push命令将镜像上传到注册服务器,也可以使用docker pull命令下载服务器的镜像. Docker注册服务器中有多种存储镜像数据的方法,可以存储到执行Docker注册的服务器,也可以存储到阿里云提供的容器镜像服务上面(推荐,简单易用). 1. 创建注册服务器容器 Docker注册服务器其实也是Docker Hub提供的Docker镜像.首先需要下载Docker注册服务器: sudo docker p…
默认情况下,Docker守护进程会生成一个socket(/var/run/docker.sock)文件来进程本地进程通信,而不会监听任何端口,因此只能在本地使用docker客户端或者使用Docker API进行操作. 如果想在其他主机上操作Docker主机,就需要让Docker守护进程监听一个端口,这样才能实现远程通信. 修改Docker服务启动配置文件,添加一个未被占用的端口号,重启docker守护进程. # vim /etc/default/docker DOCKER_OPTS="-H 0.…
0x00 概述 通过阅读之前的小节,相信大家对 Docker 在开发中的应用已经有了一定的了解.作为一款实用的软件,我们必须回归到实践中来,这样才能更好地理解 Docker 的实用逻辑和背后的原理.在这一小节里,我们就举一个完整的例子,让大家跟随这个项目的脉络,熟悉如何通过 Docker 和 Docker Compose 来搭建应用开发环境. 0x01 设计项目的目录结构 在这一小节里,我们以一个由 MySQL.Redis.PHP-FPM 和 Nginx 组成的小型 PHP 网站为例,介绍通过…
0x00 概述 自己编写 Dockerfile 能够很好的实现我们想要的程序运行环境,不过如果装有我们想要环境的镜像已经由热心的开发者构建好并共享在 Docker Hub 上,直接使用它们就会远比自己编写 Dockerfile 并进行构建要来的简单的多了.事实上,在开发过程中我们用到的镜像大部分还是直接采用 Docker Hub 中已经存在的镜像的,即使自己编写 Dockerfile,也只是对已有镜像进行简单的改动,很少会从零开始搭建镜像.在这一节中,我们要来看看如何更好地使用 Docker H…
一.创建jenkins容器: 1.拉取jeknin镜像 sudo docker pull jenkins 2.创建一个jenkins目录 sudo mkdir /jenkins 3.在jenkins目录下创建一个Dockerfile sudo touch Dockerfile 4.为了在jenkins容器中具有执行sudo命令的权限,在Dockerfile添加如下内容: FROM jenkinsUSER rootRUN apt-get update && apt-get install -…
一.拉取以下几种镜像: docker pull alpineshipyard/shipyarddocker pull swarm docker pull shipyard/shipyarddocker pull rethinkdbdocker pull microbox/etcddocker pull ehazlett/curl docker pull shipyard/docker-proxy 二.执行如下命令安装shipyard: curl -s https://shipyard-proje…
Docker部署Java Web系统 1.在root目录下创建一个路径test/app mkdir test && cd test&& mkdir app &&cd app 2.将apache-tomcat-7.0.29.tar.gz及jdk-7u25-linux-x64.tar.gz拷贝 到app目录下 3.解压两个tar.gz文件 tar -zxvf apache-tomcat-7.0.29.tar.gz tar -zxvf jdk-7u25-linux…
1. 什么Docker? Docker是一个能把开发的应用程序自动部署到容器的引擎,它使用go语言编写的开源引擎,它在github上面个的地址为:https://github.com/docker/docker. 在2013年初由dotCloud开发的基于Apache 2.0 开源授权协发行的引擎.提供一个轻量高效的应用测试,部署环境. 2. Docker的目标 1. 提供简单轻量的建模方式 2. 职责的逻辑分离 3. 快速高效的开发生命周期 4. 鼓励使用面向服务的架构 3. Docker的使…
一.安装mysql 1.docker hub 上查找mysql镜像 docker search mysql 2.从docker hub (使用阿里云加速器)拉取mysql镜像到本地标签为5.6 docker pull mysql:5.6 3.使用mysql:5.6镜像创建容器,启动服务并以后台模式运行 docker run -p 12345:3306 # 将主机的12345端口映射到docker容器的3306端口 --name mysql # 运行的容器服务的名字 -v /dyy/mysql/c…
一.容器数据卷是什么 1.为了保存docker容器运行时产生的数据,做数据的持久化,我们需要用到容器数据卷.因为如果不通过docker commit 生成新的镜像,那么当容器被删除时,数据自然就没有了. 2.容器数据卷可以将容器中的数据持久化,并且实现容器之间的数据共享. 二.容器数据卷可以干什么 1.卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器中,但不属于联合文件系统,因此能够绕过联合文件系统,提供一些用于持续存储或共享数据的特性. 2.卷的设计目的就是数据的持久化,完全…
镜像是一种轻量级.可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件.它包含运行某个环境所需的所有内容,包括代码.库.环境变量和配置文件. 一.镜像是什么 (一).联合文件系统(UnionFS): 1.联合文件系统是docker镜像的基础,是一种分层的.轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层叠加. 2.联合文件系统的特点:一次同时加载多个文件系统,但是从外观来看,只能看到一个文件系统.联合加载会把各层的文件系统叠加起来,这样最终的文件系统会包含所有的…
Docker数据卷将数据存储到主机而非容器,多个容器需要共享数据时,常常使用数据卷. 1. 为容器设置数据卷(不指定主机目录) 2. 容器与主机之间.容器与容器之间共享数据卷(指定主机目录) 3. 使用Docker数据卷容器 为容器设置数据卷(不指定主机目录) 为容器设置数据卷只需要在创建容器时使用 -v 参数指定目录即可.下面示例一个以/data目录设置为数据卷,并存储文件在data数据卷内,并回到主机查看数据卷中的内容.首先创建容器,执行命令创建容器: sudo docker run -i…
命令: 使用history命令查看镜像历史 使用cp命令复制容器中的文件到主机 使用commit命令把修改过的容器创建为镜像 使用diff命令检查容器文件的修改 使用inspect命令查看容器/镜像详细信息 1. 使用history命令查看镜像历史 sudo docker history nginx:0.1 命令格式docker history <镜像名称>:<标签>,也可以用镜像ID代替镜像名称.该命令可以查看镜像的历史记录,详细见下图: 2. 使用cp命令复制容器中的文件到主机…
Docker 学习笔记一 1.Docker是什么?         Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源.让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低.Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(E…
Docker学习笔记 — 配置国内免费registry mirror Docker学习笔记 — 配置国内免费registry mirror…
技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔记:http://www.open-open.com/lib/view/open1423703640748.html 深入浅出docker:http://www.infoq.com/cn/articles/docker-core-technology-preview 安装 参考:http://www…
Docker学习笔记之一,搭建一个JAVA Tomcat运行环境 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装.部署和升级,非常方便.因为使用了容器,所以可以很方便的把生产环境和开发环境分开,互不影响,这是 docker 最普遍的一个玩法.更多的玩法还有大规模 web 应用.数据库部署.持续部署.集群.测试环境.面向服务的云计算.虚拟桌面 VDI 等等. 主观…
回到占占推荐博客索引 使用docker也有段时间了,写了不少文章与总结,下面把它整理个目录出来,方便大家去学习与检索! docker~学习笔记索引 docker~linux下的部署和基本命令(2017-04-07 22:47) docker~docker-machine的介绍(2017-04-12 12:02) docker~使用阿里加速器安centos(2017-04-13 10:16) docker~大叔对术语的解释(2017-06-18 19:19) docker~Dockerfile优化…
Docker学习笔记(2-4)Docker应用实验-redist server 和client的安装使用 一.获取redis容器(含客户端和服务端) 二.创建服务端容器 1.在终端A中运行redis-server容器 查询本地镜像 :sudo docker images 运行服务端     :sudo docker run -d redis 查看服务端地址:sudo docker inspect -f '{{.NetworkSettings.IPAddress}}' c6c3 sudo dock…