使用Docker构建服务
6.1 构建第一个应用
构建Jekyll基础镜像
mkdir Jekyll
cd Jekyll
vi Dockerfile
构建Apache镜像
mkdir Apache
cd Apache
vi Dockerfile
启动Jekyll网站
3.0 创建实例Jekyll博客
cd $HOME git clone https://github.com/jamtur01/james_blog.git
3.1 创建Jekyll容器
sudo docker run -v /home/tianpeng/james_blog:/data/ --name james_blog jamtur01/jekyll
注:启动的新容器,把本地的james_blog目录作为/data/卷挂载到容器里
3.2 创建Apache容器
sudo docker run -d -P --volumes-from james_blog jamtur01/apache 注: a. 新标志--volumes-from把指定容器里的所有卷都加入新创建的容器里; b. 这就意味着,新建的Apache容器可以访问之前创建的james_blog容器里的/var/www/html卷中存放的编译后的Jekyll网站; c. 即便james_blog容器没有运行,Apache容器也可以访问这个卷。
3.3 解析Apache容器端口
sudo docker port xxxx 80
3.4 浏览网站
localhost:32768
更新Jekyll网站
4.1 修改本地目录中的james_blog文件夹下的_config.yml文件
4.2 再次启动james_blog容器
sudo docker start james_blog
4.2 重新加载网站
备份Jekyll卷
5.1 备份/var/www/html卷(容器的工作目录)
cd james_blog
5.2 查看备份文件(压缩包)
注:该tar文件包含了/var/www/html目录里所有的内容。
6.2 使用Docker构建一个Java应用服务
WAR文件的获取程序
mkdir fetcher
cd fetcher
touch Dockerfile
sudo docker build -t jamtur01/fetcher .
获取WAR文件
2.1 获取一个示例文件来启动新镜像
2.2 查看示例里的卷
Tomcat7应用服务器
mkdir tomcat7
cd tomcat7
touch Dockerfile
sudo docker build -t jamtur01/tomcat7 .
运行WAR文件
sudo docker run –name sample_app –volumes-from sample -d -P jamtur01/tomcat
查找Tomcat应用的端口:sudo docker port sample_app 8080
在浏览器上浏览应用
基于Tomcat应用服务器的构建服务(安装TProv出现问题)
6.3 多容器的应用栈
Node.js镜像
mkdir nodejs
cd nodejs
mkdir -p nodeapp
cd nodeapp
cd ..
vi Dockerfile
sudo docker build -t jamtur01/nodejs .
Redis基础镜像
mkdir redis_base
cd redis_base
vi Dockerfile
sudo docker build -t jamtur01/redis .
Redis主镜像
mkdir redis_primary
cd redis_primary
vi Dockerfile
sudo docker build -t jamtur01/redis_primary .
Redis副本镜像
mkdir redis_replica
cd redis_replica
vi Dockerfile
sudo docker build -t jamtur01/redis_replica .
创建Redis后端集群
5.1 创建express网络:sudo docker network create express
注:以下容器均在express网络下运行。
5.2 运行Redis主容器
5.3 读取Redis主日志
5.4 运行第一个Redis副本容器
5.5 读取Redis副本容器的日志
5.6 运行第二个Redis副本容器
5.7 第二个Redis副本容器的日志
创建Node容器
6.1 运行Node.js容器
6.2 nodeapp容器的控制台日志:sudo docker logs nodeapp
6.3 在宿主机打开相应网页,查看应用的输出
捕获应用日志:用Logstash完成
7.1 构建Logstash镜像
mkdir logstash
cd logstash
touch Dockerfile
vi Dockerfile
将链接中的代码复制到Dockerfile: 具体代码请参照图片
touch logstash.conf
vi logstash.conf
sudo docker build -t jamtur01/logstash .
7.2 启动Logstash容器
7.3 logstash容器的日志
在网页上刷新nodeapp后日志的变化: