docker实战 基础必备 :
1.创建相应目录 条理清晰些
2.在docker环境的基础上安装httpd服务并启动 ,关闭防火墙。
3.在/var/www/html 创建两个目录 一个用于挂载镜像 另一个用于上传软件包
例如:
文章图片
这是我自己的
一、构建Nginx容器 (一)简介
1.Nginx是一款轻量级的Web服务器
*占用内存少
*并发能力强
*可做反向代理
使用Dockerfile方法创建
1.下载基础镜像
2.建立工作目录(存放Dockerfile、相关资源)
[root@localhost ~]# mkdir nginx
[root@localhost ~]# cd nginx/
3.创建并编写Dockerfile文件
[root@localhost nginx]# vim Dockerfile
#设置基础镜像
FROM centos
#维护该镜像的用户信息
MAINTAINER teacher xsy
#设置本地yum源
RUN mkdir /etc/yum.repos.d/bak ; mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
ADD centos.repo /etc/yum.repos.d/centos.repo
#安装相关依赖包
RUN yum clean all ; yum -y install wget proc-devel net-tools gcc zlib zlib-devel make --skip-broken
#下载并解压nginx源码包
RUN wget http://192.168.10.1/other/nginx-1.12.0.tar.gz
RUN tar zxf nginx-1.12.0.tar.gz
#切换目录
WORKDIR nginx-1.12.0
#编译安装
RUN ./configure --prefix=/usr/local/nginx --without-http_rewrite_module && make && make install
#开启端口
EXPOSE 80
EXPOSE 443
#修改nginx文件,以非daemon方式启动
RUN echo “daemon off; ” >>/usr/local/nginx/conf/nginx.conf
#复制服务启动脚本并设置权限
WORKDIR /root/nginx
ADD run.sh /run.sh
RUN chmod 775 /run.sh
#启动容器时执行脚本
CMD ["/run.sh"]
FROM centos
MAINTAINER teacher xsy
RUN mkdir /etc/yum.repos.d/bak ;
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
ADD centos.repo /etc/yum.repos.d/centos.repo
RUN yum clean all ;
yum -y install wget proc-devel net-tools gcc zlib zlib-devel make --skip-broken
RUN wget http://192.168.100.102/bao/nginx-1.12.0.tar.gz
RUN tar zxf nginx-1.12.0.tar.gz
WORKDIR nginx-1.12.0
RUN ./configure --prefix=/usr/local/nginx --without-http_rewrite_module && make && make install
EXPOSE 80
EXPOSE 443
RUN echo "daemon off;
" >>/usr/local/nginx/conf/nginx.conf
WORKDIR /root/nginx
ADD run.sh /run.sh
RUN chmod 775 /run.sh
CMD ["/run.sh"]
完整可复制 只需要改成你自己的IP 和 软件包路径
4.编写执行脚本内容
[root@localhost nginx]# vim run.sh
#!/bin/bash
/usr/local/nginx/sbin/nginx
5.编写yum源文件
[root@localhost nginx]# vim centos.repo
[local]
name=centos7
baseurl=http://192.168.100.102/centos7//指定该yum源的IP地址及目录
enabled=1
gpgcheck=0
6.生成镜像
**[root@localhost nginx]# docker build -t nginx:xsy .**
[root@localhost nginx]# docker images
REPOSITORYTAGIMAGE IDCREATEDSIZE
nginxxsy351ad6322a1e27 minutes ago311MB
centoslatest75835a67d1344 months ago200MB
7.启动容器进行测试
[root@localhost nginx]# docker run -d -P nginx:xsy
[root@localhost nginx]# docker ps -a
[root@localhost nginx]# curl http://192.168.100.102:32769
构建Tomcat容器 Tomcat是一个免费开源的轻量级的Web服务器
适用于中小型企业
适合开发和调试JSP程序
处理静态页面的能力不强
使用Dockerfile方法创建
创建工作目录
文章图片
这里需要jdk的包 是必须依赖安装的
编写Dockerfile文件
#设置基础镜像
FROM centos
#维护该镜像的用户信息
MAINTAINER teacher xsy
#设置本地yum源
RUN mkdir /etc/yum.repos.d/bak ; mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
ADD centos.repo /etc/yum.repos.d/centos.repo
#安装相关依赖包
RUN yum clean all ; yum -y install wget
ADD jdk1.8.0_91 /usr/local/java
ENV JAVA_HOME /usr/local/java
ENV JAVA_BIN /usr/local/java/bin
ENV JRE_HOME /usr/local/java/jre
ENV PATH $PATH:/usr/local/java/bin/:/usr/local/java/jre/bin
ENV CLASSPATH /usr/local/java/jre/bin:/usr/local/java/lib:/usr/local/java/jre/lib/charsets.
jar
RUN wget http://192.168.100.102/bao/apache-tomcat-8.5.16.tar.gz
RUN tar xf apache-tomcat-8.5.16.tar.gz ; mv apache-tomcat-8.5.16 /usr/local/tomcat
EXPOSE 8080
ADD run.sh /run.sh
RUN chmod 775 /run.sh
CMD ["/run.sh"]
FROM centos
MAINTAINER teacher xsy
RUN mkdir /etc/yum.repos.d/bak ;
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
ADD centos.repo /etc/yum.repos.d/centos.repo
RUN yum clean all ;
yum -y install wget
ADD jdk1.8.0_91 /usr/local/java
ENV JAVA_HOME /usr/local/java
ENV JAVA_BIN /usr/local/java/bin
ENV JRE_HOME /usr/local/java/jre
ENV PATH $PATH:/usr/local/java/bin/:/usr/local/java/jre/bin
ENV CLASSPATH /usr/local/java/jre/bin:/usr/local/java/lib:/usr/local/java/jre/lib/charsets.jar
RUN wget http://192.168.100.102/bao/apache-tomcat-8.5.16.tar.gz
RUN tar xf apache-tomcat-8.5.16.tar.gz ;
mv apache-tomcat-8.5.16 /usr/local/tomcatEXPOSE 8080ADD run.sh /run.sh
RUN chmod 775 /run.sh
CMD ["/run.sh"]
~
~
【docker|docker构建Nginx容器和tomcat容器】编写执行脚本内容
[root@localhost tomcat]# ll /root/tomcat/
总用量 177132
-rw-r–r-- 1 root root 82 2月 27 14:17 centos.repo
-rw-r–r-- 1 root root 802 2月 27 14:17 Dockerfile
drwxr-xr-x 8 10 143 255 4月 1 2016 jdk1.8.0_91
-rw-r–r-- 1 root root 181367942 2月 27 14:04 jdk-8u91-linux-x64.tar.gz
-rw-r–r-- 1 root root 56 2月 27 15:00 run.sh
[root@localhost tomcat]# cat run.sh
#!/bin/bash
/usr/local/tomcat/bin/startup.sh
tailf /run
生成镜像
[root@localhost ~]# docker build -t tomcat:xsy .
[root@localhost ~]# docker images
运行容器并验证
[root@localhost ~]# docker run -d -p 1234:8080 --name tomcat tomcat:xsy
[root@localhost ~]# docker ps -a
[root@localhost ~]# curl http://192.168.100.102:1234
有心人真的看的话 注意要根据自己的真实环境 做改变 一般就是 Dockerfile文件和yum源仓库
推荐阅读
- Linux|109 个实用 shell 脚本
- linux笔记|linux 常用命令汇总(面向面试)
- Linux|Linux--网络基础
- jar|springboot项目打成jar包和war包,并部署(快速打包部署)
- linux|apt update和apt upgrade命令 - 有什么区别()
- linux|2022年云原生趋势
- 个人日记|K8s中Pod生命周期和重启策略
- k8s|k8s(六)(配置管理与集群安全机制)
- Go|Docker后端部署详解(Go+Nginx)
- tomcat|tomcat配置多个项目的server.xml的配置