一.Dockerfile指令 指令 描述 指令 描述 FROM 构建的新镜像是基于哪个镜像 例如:FROM centos:6 COPY 拷贝文件或目录到镜像,用法同上例如:COPY ./start.sh /start.sh MAINTAINER 镜像维护者姓名或邮箱地址 例如:MAINTAINER fruit ENTRYPOINT ENTRYPOINT的格式和RUN指令格式一样,分为exec格式和shell格式.ENTRYPOINT的目的和CMD一样,都是在指定容器启动程序及参数.ENTRYPO…
下载镜像 docker pull bitnami/php-fpm #下载php-fpm镜像 docker pull nginx #下载nginx镜像docker pull mysql:5.5.59 #下载mysql镜像 创建volume\network docker volume create webpage #用于容器web页面存放,存储位置默认为:/var/lib/docker/volume/webpage/_data/docker network create --subnet=172.3…
一.使用Dockerfile制作镜像 前面的博客中已经介绍了如何基于容器制作镜像,此方法的原理是使用一个正在运行的容器,根据生产所需进行配置更改等操作后,使其满足生产环境,再将这个容器打包制作为镜像,这样类似于快照制作镜像的方式尽管操作还算比较简单,但是当生产环境规模增大,配置变得越来越复杂后,就会显得很臃肿很笨拙.所以下面使用Docker搭建LNMP介绍另一种最为普遍最为常用的容器镜像制作方式——Dockerfile. 1.制作nginx镜像 编辑Dockerfile文件,Dockerfile…
1.Docker镜像 1.1镜像是什么 镜像是一种轻量级.可执行的独立软件包,用来打包软件运行环境和机遇运行环境开发的软件. 包含一个软件的所有内容.蒋所有的应用和环境,直接打包为docker镜像,直接运行 1.2Docker镜像加载原理 1.2.1UnionFs(联合文件系统) Union是一种分层.轻量级并且高性能的文件系统,支持对文件系统的修改作为一次提交 一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统 Union文件系统是Docker镜像的基础 1.2.3Docker镜像加载原…
前言 在第一篇文字中,我们完全人工方式,一个命令一个命令输入,实现一个 java tomcat运行环境,虽然也初见成效,但很累人.如果依靠依靠脚本构建一个Tomcat容器实例,一个命令可以搞定,何乐而不为呢.好在Docker提 供了Dockerfile作为构建Docker镜像脚本,避免人们一行一行的输入,真是善莫大焉.Dockerfile脚本可以做到随时维护修改,即可以 分享,更有利于在模板化,更不用说传输了,好处那是一大箩筐! 最终目的:打造一个支持SSH终端登录.Tomcat7自动运行的Do…
这个系列的前两篇文章,我们已经把我们的应用成功地在Docker里通过nginx运行了起来,并且用dockerfile里制作好了一个镜像. Docker入门系列之一:在一个Docker容器里运行指定的web应用 Docker入门系列之二:使用dockerfile制作包含指定web应用的镜像 本文我们会介绍如何将这个本地制作好的镜像发布到docker hub,让全世界其他docker爱好者能够使用您的镜像. 首先您得在docker hub上注册一个帐号: 然后创建一个新的repository,用于存…
接上一篇:30分钟快速上手Docker,看这篇就对了! 一. 带着问题学Dockerfile 1.疑问 我们都知道从远程仓库可以pull一个tomcat等镜像下来,然后docker run启动容器,然后docker exec -it 容器id /bin/bash进入容器,往webapps下仍我们的程序.等等这一系列操作,都需要人工一步步的去操作,那我问你:你没qa和生产环境的部署权限,你咋操作这些?这就需要将所有人工一步步操作的地方都写到Dockerfile文件里,然后将文件给到运维人员,他们b…
长话短说: 本次原创将向您展示在Docker中使用Layer Cache以加快镜像构建. 这个话题的初衷在于:应用程序打包过程是很慢的(下载并安装框架&第三方依赖包.生成assets),这在Docker中也不例外. About Layer Caching in Docker Docker使用层layer创建镜像,Dockerfile中每一个命令都会创建一个新的层,每层都包含执行命令前后的状态之间镜像的文件系统更改. 为了加快构建速度,Docker实现了缓存: 如果Dockerfile和相关文件未…
前面的三篇docker 文档大家看的肯定不过瘾,自己可能也已经上手一试了...不知道有没有发现问题... 哈哈... 我来说说我遇到的问题哦 一.windows docker 镜像越来越大 默认的docker 镜像全部下载到了C盘 C:\ProgramData\Docker 中 ...  ,导致越来越大,最后c盘就爆了,我们需要切换下镜像保存位置 docker desktop 的setting中设置data-root 一旦切换了目录,原来存在镜像以及容器就不被检查出来了,都需要重新创建,所以在切…
学习整理来源 B站 狂神说Java https://space.bilibili.com/95256449/ 四.docker镜像 1.镜像是什么 镜像是一种轻量级.可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含了运行某个软件所需的所有内容,包括代码.运行时库.环境变量和配置问价等. 将所有的应用和环境直接打包成镜像,就可以直接运行. 2.镜像分层原理 docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统UnionFS.平时我们安装进虚拟机的CentOS…
Docker云平台系列共三讲,此为第二讲:Docker进阶 参考资料: 五个Docker监控工具的对比:http://www.open-open.com/lib/view/open1433897177879.html Docker编排工具简介:http://www.aixchina.net/home/space.php?uid=59140&do=blog&id=135681 集成部署攻略:http://jingyan.baidu.com/article/425e69e6df76bbbe15…
J2EE进阶(十九)Nested exception: java.io.FileNotFoundException: http://hibernate.org/dtd/hibernate-mapping-3.0.dtd   在调试过程中,莫名奇妙的出现了"Nested exception:java.io.FileNotFoundException: http://hibernate.org/dtd/hibernate-mapping-3.0.dtd"的错误,截图如下:   对于这一错误…
Android进阶(十九)AndroidAPP开发问题汇总(三) Java解析XML的几种方式: http://inotgaoshou.iteye.com/blog/1012188 从线程返回数据的两种方法: http://www.blogjava.net/nokiaguy/archive/2009/03/19/260745.html 一般来说获取服务端数据流程是这样的: 1,跟服务端开发人员确定服务端接口使用的协议,是http请求还是webservice.根据协议不同你要在手机端使用不同的方式…
Docker进阶 Docker容器命名与重命名 命名 docker run -it -p 80:80 --name containerName img:tag /bin/bash 重命名 docker rename old new 指定Hostname docker run -h hostname -it -p 80:80 --name containerName img:tag /bin/bash Docker容器CPU资源 docker run -it --cpu-shares 1024 d…
Bing Maps进阶系列九:使用MapCruncher进行地图切片并集成进Bing Maps 在Bing Maps开发中,由于各种应用功能的不同,更多的时候用户可能需要将自己的一部分图片数据作为地图数据用来呈现在Bing Maps中,要实现这一功能就首先需要了解Bing Maps的TileSystem的相关算法,然后在对图片进行切片为Bing Maps TileSystem算法所对应的图片格式和命名等,以此来实现发布自己的图片数据,并通过自定义TileSource来实现加载自定义发布的地图数据…
Docker学习(九)Volumn容器间共享数据 volume是什么 volume在英文中是容量的意思, 在docker中是数据卷的意思,是用来保存数据的容器 为什么要进行数据共享 在集群中有多台tomcat,对于集群中的tomcat部署的代码是同一份代码的副本,如果页面文件发生变化,意味着每个容器中的页面文件都要进行更新,在大规模的集群中这样的工作量会被无限放大,这时候就需要用到数据共享解决此问题,所谓数据共享指的是多个容器共享一个数据副本,在docker环境中我们该如何实现? 数据共享原理…
搭建LNMP网站平台实战 LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写.L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python. 1.自定义网络 docker network create lnmp 2.创建Mysql数据库容器(数据卷挂在到宿主机上,保证容器删除数据仍然存在,注:mysql版本选用5.7最新版本可能出现认证错误) # docker run -itd --name lnmp_mys…
一.Docker基础 Docker安装 Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的 Ubuntu 版本是否支持 Docker. 通过 uname -r 命令查看你当前的内核版本 通过 apt-get install docker.io 安装docker Docker常见命令 容器相关操作 docker create # 创建一个容器但是不启动它  例如:docker create --name mycon php:5.6-fpm docker…
程序员经常会说的一句话:在我的机器上是正常的,肯定是你的机器有问题.因此,Docker诞生了,它把应用所需要的一切东西都打包,从而可以很方便地进行部署. Docker 的主要用途,目前有三大类: 提供一次性的环境.比如,本地测试他人的软件.持续集成的时候提供单元测试和构建的环境. 提供弹性的云服务.因为 Docker 容器可以随开随关,很适合动态扩容和缩容. 组建微服务架构.通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构. 下面开始来体验Docker,操作系统为win10…
首先我们需先安装docker环境,这个比较简单,以centos7为例 docker在centos7上安装需要系统内核版本3.10+,可以通过uname -r查看内核版本号,如果版本不符请自行查阅资料更换. 准备好之后使用以下命令安装docker服务 yum install -y docker 安装完成后启动docker服务,下面是docker启动.停止.重启等命令 systemctl restart docker #重启 systemctl stop docker #停止 systemctl s…
网上乱七八糟的资料实在是太多了, 乱, 特别乱, 而看书呢, 我读了2本书, 一本叫做<>, 另一本叫做<< Docker进阶与实战>> 在 服务发现这块讲的又不清不楚的, 坑死个人. 今天特意记录下, 并整理下来,以防自己哪天又忘了, 也给同在研究Docker 的朋友们一个安装教程. 我单位测试机一共四台, 各位可以起4个虚拟机对应, 假定分别是141,142,143,144. 都是 CentOS 6.x 系统. Step1. 升级 CentOS 内核到3.10版本以…
之前有随笔介绍使用Docker-compose搭建LNMP环境(centos6 php5.6) https://www.cnblogs.com/minseo/p/10146982.html 本文介绍Docker-compose搭建LNMP环境(centos7 php7) 文件目录结构如下 ├── docker-compose.yml ├── mysql │   ├── conf │   └── data ├── nginx │   ├── Dockerfile │   ├── nginx-1.1…
本系列文章演示如何快速搭建一个简单的云原生架构的实践环境. 基于这个基础架构,可以持续部署微服务架构的应用栈,演练敏捷开发过程,提升DevOps实践能力. 1 整体规划 1.1 拓扑架构 1.2 基础设置 硬件配置 最低:2核 CPU,4G 内存,30G 硬盘. 建议:8核 CPU,16G 内存,100G 硬盘. 编号 IP OS 主机名 角色 环境 说明 A 192.168.1.101 CentOS7.4 ddc_node01 Manager Global 运行UCP和Jenkins的节点 B…
快速搭建LNMP网站平台 步骤: 1.自定义网络(这里建立一个自定义网络,名字叫 lnmp, 让LNMP网站的服务,都加入这个自定义网络)docker network create lnmp2.创建Mysql容器docker run -d \--name lnmp_mysql \--net lnmp \--mount src=mysql-vol,dst=/var/lib/mysql \-e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=wordpres…
1.搭建lnmp网站平台 1.创建mysql数据库容器 docker run -it -d --name lnmp_mysql -p 3308:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql --character-set-server=utf8 2.创建wp数据库 docker exec lnmp_mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e "create datab…
docker微服务部署之:二.搭建文章微服务项目 一.新增demo_eureka模块,并编写代码 右键demo_parent->new->Module->Maven,选择Module SK为jdk8->ArtifactId:demo_zuul 1.修改pom.xml文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apach…
docker微服务部署之:一,搭建Eureka微服务项目 一.新增demo_article模块,并编写代码 右键demo_parent->new->Module->Maven,选择Module SK为jdk8->ArtifactId:demo_article 1.修改pom.xml文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mav…
先说明一下docker需要搭建的微服务的基本情况: 项目情况:一个demo_parent项目,下面三个子模块:demo_eureka(eureka服务).demo_article(文章服务).demo_zuul(网关服务). 用到的资源有:jdk1.8.mysql5.7. 需要用到的docker容器有:mysql(mysql单独一个容器).jdk1.8(article.eureka.zuul三个服务运行在该jdk1.8容器中) 一,用idea新建父项目 File->New->Project-&…
之前在windows下一直使用vagrant做开发, 团队里面也是各种开发环境,几个人也没有统一环境,各种上线都是人肉,偶尔还会有因为开发.测试.生产环境由于软件版本或者配置不一致产生的问题, 今年准备持续玩玩docker+kubernetes下的敏捷开发模式(当然还有其它:如持续集成) 备忘下第一步,环境搭建 Mac下docker搭建lnmp环境 + redis + elasticsearch 拉取镜像 nginx docker pull hub.c.163.com/library/nginx…
入门参考 http://www.runoob.com/docker/docker-install-nginx.html 十大常用命令玩转docker 1. #从官网拉取镜像 docker pull <镜像名:tag> 如:docker pull centos(拉取centos的镜像到本机) 2.#搜索在线可用镜像名 docker search <镜像名> 如:docker search centos( 在线查找centos的镜像) 3.#查询所有的镜像,默认是最近创建的排在最上 d…