之前说过Docker的好处,Docker可以集装箱化的部署应用程序.那么Docker是通过什么实现的呢.要理解Docker内部构建,需要先理解Docker的四种部件 1)images:镜像,docker镜像是docker容器运行时的模板,一个镜像就是一个应用程序的模板.比如我用Docker创建一个Ubuntu,那就得        建立一个ubuntn的镜像,这个镜像就像是印刷术里面的板子,如果我需要再创建一个Ubuntu系统,就可以重复利用这个镜  像.镜像是由一系列的层(layers)组成,…
安装完Docker之后,我们就可以简单的使用Docker,来体会Docker的用处. 首先看下Docker的常用命令,都是我在实用Docker的时候用到的命令: docker常用命令: $ docker images //查看所有的镜像            $ docker ps -a //查看所有的容器            $ docker build -t docker_name .//用Dockerfile创建一个名字叫docker_name的镜像            $ docke…
Docker学习(三)认识Docker和常用命令 Docker体系结构 docker服务端,作为服务的提供方,核心进程 docker daemon,所有docker命令都是通过这个进程完成的 REST API:通信层,基于WEB容器提供http协议服务 docker CLI: 提供常用的docker命令 基于HTTP协议,docker的兼容性和扩展性是特别好的 基于这种CS架构,对于应用来说,最大的好处就是服务器与客户端可以不用安装在同一台电脑上,可以跨机器管理多台服务器,提高运维效率 Dock…
Docker 自从2013年以来就非常的火热,无论是从github上的代码活跃度,还是Redhat在RHE6.5中集成对Docker的支持,等等.第一次接触Docker,还是老师给我们介绍的. 1.初识Docker 一开始接触Docker不知道它是干啥的.百度了一下,Docker是为开发者和系统管理员设计的,用来发布和运行分布式应用程序的一个开放性平台.Docker是一种Linux容器工具集,Docker的思想来自于集装箱,在一艘船上可以把货物规整的摆放起来.每个集装箱都是专门装一种货物的,集装…
Docker 1.简介 Docker是一个开源的应用容器引擎:是一个轻量级容器技术: Docker支持将软件编译成一个镜像:然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像: 运行中的这个镜像称为容器,容器启动是非常快速的. 每个集装箱像是一个一个的应用 2.核心概念 docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上): docker客户端(Client):连接docker主机进行操作: docker仓库(Registry…
参考博客: 1.官网教程:https://docs.docker.com/reference/ 可以一边敲命令一边对照官网学习,也可以通过阅读docker --help来学习 2..视频教程:https://www.bilibili.com/video/BV1og4y1q7M4?t=380&p=8(老师讲的很好) 3.https://www.cnblogs.com/Dev0ps/p/11527522.html 帮助命令 docker version #显示docker的版本信息. docker…
容器生命周期管理 - docker [run|start|stop|restart|kill|rm|pause|unpause] 容器操作运维 - docker [ps|inspect|top|attach|events|logs|wait|export|port] 容器rootfs命令 - docker [commit|cp|diff] 镜像仓库 - docker [login|pull|push|search] 本地镜像管理 - docker [images|rmi|tag|build|hi…
Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).bare metal.OpenStack 集群和其他的基础应用平台.  Docker通常用于如下场景: web应用的自动化打包和发布: 自动化测试和持续集成.发布: 在服务型环境中部署和调整数据库或其他的后台应用: 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境. 一.镜…
一.Docker是什么? 首先Docker是软件工业上的集装箱技术 回顾,在没有集装箱出现以前,传统运输行业中,会存在这些问题: 在运输过程中,货物损坏 装卸.运输货物,效率低下 运输手续繁多及运输环节多 劳动强度大,及船舶周转慢 在集装箱出现后,完全改变了这种状况,是由于集装箱: 规则标准化,大大减少了包装费用 大大提升了货物装卸效率.及运输效率 不同种运输工具之间转换更容易 所以,集装箱出现是传统行业中的一次重大变革 传统软件行业中存在的问题 软件更新发布低效 业务无法敏捷 环境一致性,难于…
一,如何启动一个已退出的容器? [root@localhost ~]# docker start storage4 说明:架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest 对应的源码可以访问这里获取: https://github.com/liuhongdi/ 说明:作者:刘宏缔 邮箱: 371125307@qq.com 二,docker容器运行后状态是exited(0)? run时加参数 -d -i -t -i: 以交互模式运行…
访问仓库,仓库是集中从存放镜像的地方.类似Maven. Docker Hub 目前由Docker官方维护的一个公共仓库,其中包括15000的镜像. 注册 在 https://hub.docker.com 免费注册一个Docker 账号. 登录 通过 docker login 命令交互式的输入用户名和密码完成登录.通过 docker logout 退出登录. 拉取镜像 通过 docker search 命令来查找官方仓库中的镜像,并利用 docker pull 命令将它下载到本地. 返回了很多关键…
目录 Hello World 后台运行 停止运行 容器 载入镜像 指定端口映射 查看日志 查看应用的进程 登入镜像内部 移除容器 镜像 查看本地镜像 拉取镜像 查找镜像 更新镜像 构建镜像 设置镜像标签 Hello World docker run ubuntu:15.10 /bin/echo "Hello world" docker 是命令二进制文件 run 运行一个容器 ubuntu:15.10 镜像名称,通过是名字加版本号 后面是容器里执行的任务 交互式,进入镜像内部 docke…
0x00 概述 与 Dockerfile 一样,编写 Docker Compose 的配置文件是掌握和使用好 Docker Compose 的前提.编写 Docker Compose 配置文件,其本质就是根据我们所设计的应用架构,对不同应用容器进行配置并加以组合.在这一节中,我们就来谈谈如何编写 Docker Compose 的配置文件,了解其中常见配置项的使用方法. 0x01 定义服务 为了理解在开发中常用的 Docker Compose 配置,我们通过一个在开发中使用的 Docker Com…
下面演示: 在Windows上新建一个简单的Springboot工程,生成docker iamge,然后在本地的docker上运行: (1):登录到 https://start.spring.io/, 建一个简单的工程: (2)修改springboot工程: 添加一个controller: package com.example.demo.controller; import org.springframework.web.bind.annotation.RequestMapping; impo…
记录安装配置以及使用的过程,可能会有多处摘抄,已注明照抄地址,侵删. 是什么:个人理解,是一种移植性很强的虚拟机,支持版本控制(类似于git),同一个服务器可以运行多个docker容器,每个docker容器都有一个独立的虚拟环境. 本人环境: 虚拟机:Oracle virtualBOX   版本:cetOS7.5 mimi x64 PC系统:macOS X 1.基本概念 摘抄地址:https://yq.aliyun.com/articles/640826?spm=a2c4e.11163080.s…
参考资料: https://nachuan.blog.csdn.net/article/details/96041277 https://www.cnblogs.com/xzkzzz/p/9627658.html https://www.linuxprobe.com/update-kernel-centos7.html 1.查看系统启动日志(里面往往有docker运行的error日志) tail -100f /var/log/messages 出现上述问题的原因,可以参考官网:https://d…
参考资料: 1.博客1:https://www.jianshu.com/p/d645e2ed4bb1 使用docker的时候有一些常见问题: docker权限问题:一般输入docker命令前面都要加sudo,否则会出现下面的错误: 一般的解决方法是, 1.切换到root用户,问题是,切换后输入docker的命令tab命令就没有提示了: 2.每次输入命令前加上sudo,但是本人又觉得这样很麻烦... 因此我觉得需要在既可以有命令提示,又避免输入sudo,这就需要把添加当前用户到docker组,让当…
kubernetes 1.5 的安装和集群环境部署 文章转载自:http://www.cnblogs.com/tynia/p/k8s-cluster.html 简介: Docker:是一个开源的应用容器引擎,可以为应用创建一个轻量级的.可移植的.自给自足的容器. Kubernetes:由Google开源的Docker容器集群管理系统,为容器化的应用提供资源调度.部署运行.服务发现.扩容缩容等功能. Etcd:由CoreOS开发并维护的一个高可用的键值存储系统,主要用于共享配置和服务发现. Fla…
Thinksns 是一个开源的社交网站,因为目前的项目需要用到这个,所以就下载一个安装试试看. 之前在windows上用了wamp,安装的很顺利.但是项目是要部署到linux上的.于是我便用了Docker 作为Docker的初学者,确实又是一个学习Docker的好机会. 安装thinksns,至少要apache或者nignx,然后数据库mysql,还有一个php的运行环境.自己又不会写DockerFile ,就在DockerHub上面拉了一个镜像, 在搭建环境,和以后使用环境的过程中,我们难免需…
1. Docker For windows 最新版也支持到了 docker ce 18.06 (这个博客的编写时间是 2018.8.17 当时是最新的) 2. 下载安装. 大概500m 左右的安装文件 这里面不在叙述如果安装以及其他. 需要注意的是 安装完之后是没有 kitematic 的 需要下载单独的安装包 解压缩 打开 exe 就可以直接使用了. 安装完之后的效果 界面 简单的使用简介 可以切换 windows 内核 和linux 内核 注意两种内核是完全不通用的... 你下载好的imag…
Dockerfile是一个镜像的表示,可以通过Dockerfile来描述构建镜像的步骤,并自动构建一个容器 所有的 Dockerfile 命令格式都是: INSTRUCTION arguments 虽然指令忽略大小写,但是建议使用大写. FROM 命令 FROM <image> 或 FROM <image>:<tag> 这个设置基本的镜像,为后续的命令使用,所以应该作为Dockerfile的第一条指令. 比如: FROM ubuntu 如果没有指定 tag ,则默认ta…
csphere/php-fpm:5.4 # cd docker-training/php-fpm/ # ls Dockerfile nginx_nginx.conf supervisor_nginx.conf nginx_default.conf php_www.conf supervisor_php-fpm.conf 各文件解释: nginx_nginx.conf 替换默认的nginx.conf文件 nginx_default.conf 替换默认的default.conf文件 php_www.…
在介绍VOLUME指令之前,我们来看下如下场景需求: 1)容器是基于镜像创建的,最后的容器文件系统包括镜像的只读层+可写层,容器中的进程操作的数据持久化都是保存在容器的可写层上.一旦容器删除后,这些数据就没了,除非我们人工备份下来(或者基于容器创建新的镜像).能否可以让容器进程持久化的数据保存在主机上呢?这样即使容器删除了,数据还在. 2)当我们在开发一个web应用时,开发环境是在主机本地,但运行测试环境是放在docker容器上. 这样的话,我在主机上修改文件(如html,js等)后,需要再同步…
一.直接下载docker-ce 1.拉取gitlab/gitlab-ce Randy:~ Randy$ docker pull gitlab/gitlab-ce Using default tag: latest 2.运行gitlab/gitlab-ce, Randy:~ Randy$ docker run -d --publish : --publish : --publish : --name gitlab-randy --restart always gitlab/gitlab-ce 其中…
一.centos7.5下更换阿里源 1.装好centos7.5镜像,将yum源更换为阿里源 第一步:刚出的centos7.5是解析不到阿里的东西的,所以找了台centos7.4,下载一些包 (1) 下载一个阿里的repo文件 wget  http://mirrors.aliyun.com/repo/Centos-7.repo (2)将包传到centos7.5上,并且把包放到/etc/yum.repos.d (3)  对/etc/yum.repos.d的包进行替换 mv  CentOS-Base.…
前面使用commit的方式,制作一个docker镜像,本次介绍使用Dockerfile制作一个dockers镜像 [root@docker-server3 ~]# mkdir /openssh [root@docker-server3 ~]# cd /openssh [root@docker-server3 openssh]# cp /etc/ssh/ssh_host_ecdsa_key /etc/ssh/ssh_host_ed25519_key /etc/ssh/ssh_host_rsa_ke…
ONBUILD指令可以为镜像添加触发器.其参数是任意一个Dockerfile 指令. 当我们在一个Dockerfile文件中加上ONBUILD指令,该指令对利用该Dockerfile构建镜像(比如为A镜像)不会产生实质性影响. 但是当我们编写一个新的Dockerfile文件来基于A镜像构建一个镜像(比如为B镜像)时,这时构造A镜像的Dockerfile文件中的ONBUILD指令就生效了,在构建B镜像的过程中,首先会执行ONBUILD指令指定的指令,然后才会执行其它指令. 需要注意的是,如果是再利…
USER指令用于指定容器执行程序的用户身份,默认是 root用户. 在docker run 中可以通过 -u 选项来覆盖USER指令的设置. 举例:docker run -i -t -u mysql newmysqldb /bin/bash 显示的shell提示符是: mysql@57cd57edba38:/$ 注意:docker容器中的root用户密码是随机分配的.…
ENV指令用来在镜像构建过程中设置环境变量.我们来看一个Dockerfile的例子: #test FROM ubuntu MAINTAINER hello ENV MYDIR /mydir RUN mkdir $MYDIR RUN echo hello world > $MYDIR/test.txt 假设用上面的dockerfile构建了一个叫myimage的镜像.运行  docker run -i -t myimage /bin/bash 我们发现新建的容器中有了 /mydir目录,并有了/m…
Dockerfile中的WORKDIR指令用于指定容器的一个目录, 容器启动时执行的命令会在该目录下执行. 相当于设置容器的工作目录了.我们来看一个dockerfile文件 #test FROM ubuntu MAINTAINER hello RUN mkdir /mydir RUN echo hello world > /mydir/test.txt WORKDIR /mydir CMD ["more" ,"test.txt"] 假设根据该dockerfil…