版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第 03 章:构建 Docker 容器实战一:案例-构建 nginx 容器1:将 centos 镜像导入到 docker 中rootlocalhost # docker load -inpentos7.3.tard69483a6face: Loading layer209.5MB/209.5MBLoaded image: centos:latest2:创建 dockerfile 工作目录rootlocalhost # mkdir /opt/nginx rootlocalhost # cd /opt/nginx3:创建 dockerfilerootlocalhost nginx# vim doc
2、kerfile FROM centosRUN rm -rf /etc/yum.re.d/*ADD my163.repo /etc/yum.re.d/myrepo.repoRUN yum clel#RUN yum makecacheRUN yum -y install pcre-devel zlib-devel zlib gcc* make openssl-devel ADD nginx-1.12.0.tar.gz /optWORKDIR /opt/nginx-1.12.0RUN ./configure -prefix=/usr/local/nginx & make & make install
3、EXEXE 80E 443RUN echo daemon off;/usr/local/nginx/conf/nginx.conf#WORKDIR /root/nginx ADD run.sh /run.shRUNod 775 /run.shCMD /run.sh注释:使用 ADD 想容器添加压缩包时,在容器中会自动解压,使用COPY 则不会4:将 163 的 yum 源文件拷贝到 dockerfile 的 nginx 目录中5:编写 nginx 启动rootlocalhost nginx# vim run.sh #!/bin/bash/usr/local/nginx/sbin/nginx6:
4、用 dockerfile 创建镜像rootlocalhost nginx# docker build -t mynginx .7:启动容器rootlocalhost nginx# docker run -d -i -p 8080:80 mynginx注意:此处不带-t 选项,容器中有一个 run.sh 的或者,带上-t 选项,这个就不执行了rootlocalhost nginx# docker run -d -it -p 8080:80 mynginx /bin/bash -c /run.sh此处使用 bash 执行 run.sh 的另一种启动方法rootlocalhost nginx# do
5、cker run -d -i -v /nginx/conf/nginx.conf:/usr/local/nginx/conf/nginx.conf -v/nginx/html/:/usr/local/nginx/html/ -p 80:80 mynginx002注释:这个方法是将本机上的配置文件挂在到容器中,将本机的目录挂在到容器中需要提前在挂在配置文件的目录下存在 nginx 的配置文件,这样就可以不进入容器,直接在主机上修改配置文件了8:nginx二:案例构建 Tomcat 容器1:创建工作目录rootlocalhost # mkdir /opt/tomcat/ rootlocalhost
6、 # cd /opt/tomcat/2:将 jdk 解压,并移动到工作目录rootlocalhost # tar zxvf jdk-8u91-linux-x64.tar.gz -C /opt/tomcat/3:创建 dockerfile 文件rootlocalhost tomcat# vim dockerfileFROM centosADD jdk1.8.0_91 /usr/local/jdk-8u91ENV JAVA_HOME /usr/local/jdk-8u91ENV JAVA_BIN /usr/local/jdk-8u91 ENV JRE_HOME /usr/local/jdk-8u9
7、1ENV PATH $PATH:/usr/local/jdk-8u91/bin:/usr/local/jdk-8u91/jre/binENV CLASSPATH /usr/local/jdk-8u91/jre/bin:/usr/local/jdk-8u91/lib:/usr/local/jdk-8u91/jre/lib/charsets.jarADD apache-tomcat-8.5.16.tar.gz /RUN mv /apache-tomcat-8.5.16 /usr/local/tomcatEXE 8080ADD run.sh /run.shRUNod 775 /run.shCMD /
8、run.sh4:创建启动rootlocalhost tomcat# vim run.sh #!/bin/bash/usr/local/tomcat/bin/startup.shtailf /run5:用 dockerfile 生成镜像rootlocalhost tomcat# docker build -t mytomcat .6:运行容器rootlocalhost tomcat# docker run -d -i -p 8080:8080 mytomcat7:tomcat三:案例-构建容器1:创建工作目录rootlocalhost # mkdir /opt/2:创建 dockerfile 文
9、件rootlocalhost # cd /opt/rootlocalhostFROM centos# vim dockerfileRUN rm -rf /etc/yum.re.d/*ADD myrepo.repo /etc/yum.re.d/myrepo.repoRUN yum clelRUN yum -y install mariadb mariadb-serverRUNn -R:/var/lib/ADD init.sh /init.shRUNod 775 /init.shRUN /init.shEXE 3306CMD d_safe3:编写初始化rootlocalhost#!/bin/bas
10、h# vim init.sh_install_db -user=sleep 3d_safe & sleep 3admin -u root password 123456-uroot -p123456 -e grant all privileges on *.* to root% identified by 123456;-uroot -p123456 -e grant all privileges on *.* to rootlocalhost identified by 123456;-uroot -p123456 -e flush privileges;3:生成镜像rootlocalhos
11、t# docker build -t.4:创建容器rootlocalhost# docker run -id -p 3306:3306四:构建1:创建工作目录rootlocalhost # mkdir /opt/2:创建 dockerfilerootlocalhost # cd /opt/rootlocalhost# vim dockerfileFROM centosMAAINER jackerENV VER=5.5.38RUN rm -rf /etc/yum.re.d/*ADD my163.repo /etc/yum.re.d/myrepo.repoRUN yum clelRUN yum i
12、nstall epel-release -y & yum install -y gcc gcc-c+ make gd-devel libxml2-devel libcurl-devel-devel libpng-devel openssl-devel -devel libxsevel libtidy-devel autoconf iproute net-toolsnet wget curl & yum clel & rm -rf /var/cache/yum/*COPY-$VER.tar.gz /RUN cd / & tar zxf-$VER.tar.gz & mv-$VER /usr/loc
13、al/ & cd /usr/local/-$VER & ./configure -prefix=/usr/local/-with-config-file-path=/usr/local/-enable-fpm -enable-opcache /etc -with-with-i -with-pdo-with-openssl -with-zlib -with-curl -with-gd -with-jpeg-dir -with-png-dir -with-freetype-dir -enable-mbstring -with-mcrypt -enable-hash & make -j 4 & make install & cp.ini-production /usr/local/etc/.ini & cp sapi/fpm/-fpm.conf /usr/local/etc/-fpm.conf & sed -i 90a daemonize = no /usr/local/mkdir /usr/local/log & /etc/-fpm.conf & cd / & rm -rf* & cd /usr/local/ & rm -rf-$VER & ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localti
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师见习报告(范文6篇)
- 行业实习报告(16篇)
- 关注心理健康 你我快乐成长(教学设计)2023-2024学年初三下学期教育主题班会
- 2025-2026学年餐饮套餐直播教学设计
- 2025-2026学年麻雀选读教学设计
- 2026年新型油墨行业发展战略研究及投资潜力预测评估报告
- 2026年新员工入职安全培训模拟试题及答案详解
- EVA树脂发展前景分析
- 2026年新版药店店员考核题库(含答案)
- 2026年助产学简答模拟试题及答案详解
- 2026年甘肃省白银市公安局白银分局招聘警务辅助人员41人笔试参考题库及答案详解
- 婚前医学检查相关知识考核试题(附答案)
- 2026 年烈士纪念日英雄事迹学习专题课件
- Unit3 Smart Learning 单元测试题-人教版英语九年级上册
- 电力系统分析试题与答案
- 2026年考研政治真题及答案
- 幼儿园大班活动教学设计及教案示范
- 导尿管相关尿路感染(CAUTI)防控最佳护理实践专家共识解读
- 集成电路封装技术(第二版) 课程标准、授课计划
- 高等数学上册同济大学数学系教学课件全套
- 护理课题申报书课件
评论
0/150
提交评论