Docker主要有三大核心的概念,分别为镜像(Image).容器(Container)及仓库(Repository). 一.核心概念 1.Docker镜像 ​ Docker镜像其实与虚拟机镜像很类似,我们可以将其理解为面向一个Docker引擎的只读模板,其中包含了文件系统.镜像是创建Docker容器的基础,通过版本管理和增量的文件系统,Docker提供一个简单的机制来创建和更新现有的镜像,当然我们也可以直接下载一个现成的应用镜像来直接使用. 2.Docker容器 ​ Docker类似一个轻量级的…
一.前提条件 本文介绍 Docker CE 的安装使用. 目前,CentOS 仅发行版本中的内核支持 Docker. Docker 运行在 CentOS 7 上,要求系统为64位.系统内核版本为 3.10 以上. Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位.系统内核版本为 2.6.32-431 或者更高版本. 1.使用命令unanme -r查看内核版本. 2.如果之前安装过,需要卸载旧版本. $ sudo yum remove docker \…
https://docs.docker.com/reference/  官方命令总结地址 容器生命周期管理 1.docker run 创建一个新的容器并运行一个命令 docker run [options] image [command] [arg...] -a stdin:指定标准输入输出内容类型,可选STDIN/STDOUT/STDERR -d: 后台运行容器,并返回容器ID -i: 以交互式运行容器,通常与-t同时使用 -p: 端口映射,格式为 主机(宿主)端口:容器端口 -t: 为容器重…
Lumen 基于 Laravel 打造,专为构建微服务和 APIs 而生:Redis 与 Memcached 均为常用的 key-value 内存对象缓存服务(系统),免费开源,Redis 支持持久化,但Memcached 不支持持久化.Redis 与 Memcached 均可进行集群化部署, Lumen 已对这两种系统API进行了很好的封装,使用起来更为简便.Lumen 中使用Redis可通过Predis或者PhpRedis来实现.Predis为Lumen原生支持的库,PhpRedis是PHP…
Registry删除镜像.垃圾回收 Docker仓库在2.1版本中支持了删除镜像的API,但这个删除操作只会删除镜像元数据,不会删除层数据.在2.4版本中对这一问题进行了解决,增加了一个垃圾回收命令,删除未被引用的层数据. 部署镜像仓库 (1)启动仓库容器 $ sudo docker run -d -v /home/config.yml:/etc/docker/registry/config.yml -p 5000:5000 --name test_registry registry:2.4.1…
常用环境安装 这里收集一些常用环境的安装步骤,可直接复制进行使用,节省安装时间,后续会随时补充 安装MySQL5.7.32 下载mysql5.7.32的镜像 ( 记得下载镜像要先确保镜像仓库中存在这个镜像 ) docker pull mysql:5.7.32 下载完成后启动这个镜像的容器: docker run -d \ --name mysql \ -v /root/mysql/data:/var/lib/mysql \ -v /root/mysql/conf:/etc/mysql \ -e…
前几节我们介绍了Docker的基本使用和三大核心概念,那么我们在使用Docker的过程中,Docker中必然产生了大量的数据,对于这些数据我们需要查看或者对这些数据进行一个备份,也有可能容器之间的数据需要进行共享,这些都涉及到了容器的数据管理操作. 关于容器中管理数据Docker主要有两种方式:数据卷(Data Volumes)和数据卷管理(Data Volumes Dontainers). 一.数据卷 数据卷是一个可供容器使用的特殊目录,它绕过了文件系统,可提供多种特性: 数据卷可以在容器之间…
镜像是Docker的三大核心概念之一.Docker在运行容器之前,本地需要存有镜像,若不存在则Docker会首先尝试从默认的镜像仓库中去下载,当然我们也可以去配置自己的仓库,如此就会从我们配置的仓库中去下载. 一.获取镜像 ​ 镜像是Docker运行容器的前提条件,我们可以通过 docker pull 命令来下载镜像,语法格式为:docker pull name[:tag].若我们不指定具体的tag版本,则默认下载最新的版本即 latest标签的镜像. # 1. 下载一个最新版本的 ubuntu…
容器是Docker的另一个核心概念,容器就是镜像的一个运行实例,只是它具有一个可写的文件层,而镜像是一个只读的文件. 一.创建容器 1.新建容器 我们可以使用 docker create 命令来创建一个容器.需要注意的是,此时新建的容器处于停止状态,若想让这个容器运行,则需要使用 docker start 命令. # 0. 查看本地有哪些镜像 $ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu latest 4e502…
一个系统一般都包含多个服务组件,这些大量的服务组件不可能放在同一个容器中,这就需要多个容器之间可以互相通信.Docker提供了两种方式来实现网络服务:映射容器端口到宿主主机.容器互联机制. 一.端口映射实现访问容器 1.从外部访问容器中的应用 在启动容器时,若我们不指定某些参数,则我们在容器外部是无法通过网络来访问容器中的应用和服务的.若想让容器中的应用可以被外部访问,则在启动容器时,需要加入 -P / -p 来指定端口的映射.若我们直接加上 -P 后面不指定端口,则Docker会随机映射一个…
 Docker常用命令使用介绍 docker中常用的命令: 1.docker search image_name:搜查镜像 2.docker pull image_name:从镜像库中拉去镜像 3.docker run image_name:运行容器 --restart=always:容器退出后重新启动 --name:自定容器名字 --d:后台运行容器 --i:交互模式 --t:打开一个伪终端 --v:将容器中某个文件(目录)影射到主机上的某个文件(目录) --p:将容器中的某个端口号影射到主机…
继上一篇对象类型后,这里我们一起探讨相等的判定. 相等判断有关的4个方法 CLR中,和相等有关系的方法有这么4种: (1) 最常见的 == 运算符 (2) Object的静态方法ReferenceEquals (3) Object的静态方法Equals (4) Object.Equals()方法,这是一个virtual method "==" 运算符 首先要知道"==" 是一个运算符,它只有在两边都为相同类型时才能通过编译. 假设“==” 没有被我们显示地重载过,当…
  PHP类和对象之Static静态关键字 静态属性与方法可以在不实例化类的情况下调用,直接使用类名::方法名的方式进行调用.静态属性不允许对象使用->操作符调用. class Car { private static $speed = 10; public static function getSpeed() { return self::$speed; } } echo Car::getSpeed(); //调用静态方法 静态方法也可以通过变量来进行动态调用  $func = 'getSpe…
定义二维数组 int[][] a = new int[4][5]; 可以不指定列数 int[][] a = new int[4][]; 获取行 int i = a.length(); 如果使用第一个例子,这里就是返回4 获取列 int i = a[0].length();使用第一个例子,这里就是返回5 定义一个对象数组 Book[] books = new Book[50]; 这里的Book是个实体类,之后的用法与一维数组的用法是一样的…
原文地址:http://blog.jboost.cn/2019/07/14/docker-2.html 在Docker笔记(一):什么是Docker中,我们提到了Docker管理的对象包含镜像.容器.网络.数据卷等,本文就来介绍下这些对象及用途. 1. 镜像 所谓镜像,是一个静态的概念.它对我们期望干的事情做了一些定义,比如要运行什么程序,需要哪些依赖,需要什么样的配置,需要开放哪个网络端口等等.Docker的镜像是一个特殊的文件系统,提供了运行时需要的程序.库.资源.配置等文件,还包含一些为运…
原文地址:http://blog.jboost.cn/2019/07/16/docker-4.html 在Docker中,应用是通过容器来运行的,而容器的运行是基于镜像的,类似面向对象设计中类与对象的关系——没有类的定义就谈不上实例的创建与使用,没有镜像的定义就谈不上容器的创建与运行. 1. 获取镜像 镜像从哪里来,一般两个途径,一是公共镜像库,如官方镜像库Docker Hub,上面有大量的高质量的镜像直接可拿来用:二是自定义,我们可基于一个已有镜像,在其基础上增加一些层(还记得镜像的分层存储特…
docker官方文档地址如下:[https://docs.docker.com/engine/reference/](https://docs.docker.com/engine/reference/) 一.创建 docker create:创建容器,处于停止状态. centos:latest:centos容器:最新版本(也可以指定具体的版本号). 本地有就使用本地镜像,没有则从远程镜像库拉取. 创建成功后会返回一个容器的ID. docker run:创建并启动容器. 交互型容器:运行在前台,容…
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.服务器设置 1.把每一个服务器的selinux 设置为 disabled 设置方式: vi  /etc/selinux/config 将 SELINUX=disabled,然后保存,然后 执行命令: setenforce 0,使之生效. 2.同步每一台服务器的时间(此步骤很重要,会影响后面的软件环境运行) 3.每一台服务…
一.拉取以下几种镜像: 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学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi Remove one or more images 下载image: pull Pull an image or a repository from a registry 2.container相关操作 start Start one or more stopped containers 启动一个c…
Docker学习笔记二(linux下安装Docker) 1.在线安装linux Docker 这种方式首先要保证linux 环境下可以上网,当然,小编是在自己的电脑上安装了虚拟机,在虚拟机上安装了,linux系统,你也可以直接操作linux系统:如果需要学习如何安装.学习,虚拟机,并安装linux系统,可以参考小编另外一篇博客,写博不易,请支持. 查看linux系统(当然一下你可以不做,小编只是查看下安装信息): 1.uname -a Linux查看版本当前操作系统内核信息 [root@loca…
目  录 一.Docker 常用命令 docker version 命令 docker info 命令 二.Docker 镜像管理 搜索镜像:docker search 镜像名 获取镜像:docker pull 镜像名 查看镜像列表:docker images 或 docker image ls 查看镜像的详细属性:docker image inspect 镜像名 删除镜像:docker rmi 或 docker image rm 导出镜像:docker save 导入镜像:docker loa…
如果我们通过docker来整合spring cloud项目,可以通过maven-docker插件将构建好的镜像直接推送到docker服务器上,但是生产环境建议关闭该功能,为了安全考虑.开启tcp远程监听端口示例如下: 开启docker apiserver的2375管理端口,本示例在CentOS7环境下.编辑docker.service文件,修改ExecStart参数,添加-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock执行:vi ./usr/…
原文地址:http://blog.jboost.cn/2019/07/21/docker-6.html 容器是Docker中的另一核心概念,在Docker中,应用的运行都是在容器内进行的,容器则基于镜像创建.前面已对Docker镜像做了基本介绍,本文对Docker容器管理的相关内容做一个梳理. 1. 启动容器 启动容器的命令格式如下 docker run [OPTIONS] IMAGE-NAME [COMMAND] [ARG...] 其中OPTIONS部分可指定容器运行的一些可选项,常用选项包括…
1. Compose简介 Docker Compose是Docker官方的用于对Docker容器集群实现编排,快速部署分布式应用的开源项目.Docker Compose通过docker-compose.yml文件来定义一组相关联的应用容器的编排,这组相关联的应用容器一般通过互相交互作为一个整体项目提供服务,比如一个Web项目,既包含业务服务容器,也包含数据库服务容器与缓存服务容器等. Compose中两个重要的概念: 服务(service): 包含多个运行相同镜像的容器实例 项目(project…
目录 Docker安装MongoDB Docker给MongoDB设置用户密码 NoSQL Manager for MongoDB连接 为admin赋权限 上一个笔记介绍了Windows下安装MongoDB和MongoDB的基本使用,这一节来介绍怎么在Docker里面安装 Docker安装MongoDB 最重要的就是启动这一步,前面的可以看我的Docker笔记,启动如下 docker run --name mongo -p 27017:27017 -d mongo:latest --auth 以…
一.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容器中管理数据主要有数据卷.宿主机目录挂载两种方式. 1. 数据卷的方式 数据卷是一个特殊的文件目录(或文件),具备如下特性: 可以在容器之间共享和重用 对数据卷的修改会立马生效 数据卷的更新,不会影响到镜像 数据卷默认会一直存在,不会随容器的删除而消亡 1.1 创建数据卷 可以使用docker volum…
Docker的应用运行在容器中,其相互之间或与外部之间是如何通信的,涉及到哪些知识点,本文对相关内容进行整理.因网络这块牵涉的面较多,因此只从日常使用或理解的角度出发,过于专业的就不深入探讨了. 1. Docker默认的网络拓扑 在Docker笔记(二):Docker管理的对象中,介绍了Docker通过一些驱动程序来实现容器之间或容器与外部的互联,包括bridge(默认的虚拟网桥形式),host(与主机共享网络栈),overlay(跨Docker Daemon容器间的互联),macvlan(为容…
Dockerfile是一个文本文件,包含了一条条指令,每条指令对应构建一层镜像,Docker基于它来构建一个完整镜像.本文介绍Dockerfile的常用指令及相应的最佳实践建议. 1. 理解构建上下文(build context) Docker镜像通过docker build指令构建,该指令执行时当前的工作目录就是docker构建的上下文,即build context,上下文中的文件及目录都会作为构建上下文内容发送给Docker Daemon. docker build --no-cache -…