dockerfile示例

Posted qijiangforever

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dockerfile示例相关的知识,希望对你有一定的参考价值。

FROM conetos
VOLUMES[\'volumes01\',\'volumes02\']
容器挂载相互同步
先启动一个
docker run -it --name docker01 centos:1.0
在启动一个
docker run -it --name docker02 --volumes-from docker01 centos:1.0
--volumes-from  实现数据卷挂载同步 相当于实现了继承(docker02 extends docker01)
编写dockerfile脚本
FROM centos
MAINTAINER kuangshen<24736743@qq.com>
#把宿主机当前上下文的read.txt拷贝到容器/usr/local/路径下
COPY read.txt /usr/local/cincontainer.txt
#把java与tomcat添加到容器中
ADD jdk-8u351-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.22.tar.gz /usr/local/
#安装vim编辑器
RUN yum -y install vim
#设置工作访问时候的WORKDIR路径,登录落脚点
ENV MYPATH /usr/local
WORKDIR $MYPATH
#配置java与tomcat环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_351
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.22
ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.22
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
#容器运行时监听的端口
EXPOSE 8080
#启动时运行tomcat
# ENTRYPOINT ["/usr/local/apache-tomcat-9.0.22/bin/startup.sh" ]
# CMD ["/usr/local/apache-tomcat-9.0.22/bin/catalina.sh","run"]
CMD /usr/local/apache-tomcat-9.0.22/bin/startup.sh && tail -F
/usr/local/apache-tomcat-9.0.22/bin/logs/catalina.out

启动自定义tomcat

docker run -d -p 9090:8080 --name mytomcat -v /home/huoziqi/build/tomcat/test:/usr/local/apache-tomcat-9.0.70/webapps/test -v /home/huoziqi/build/tomcat/tomcatlogs:/usr/local/apache-tomcat-9.0.70/logs diytomcat:1.0

测试

linux本机curl localhost:9090
外部测试:http://192.168.2.8:9090/

 

Docker多阶段镜像构建Dockerfile脚本示例:构建nodejs前端项目


# 声明镜像为node:12.16.1
FROM node:12.16.1

# 声明工作目录
WORKDIR /gva_web/

# 拷贝整个web项目到当前工作目录
COPY . .

# 通过npm下载cnpm
RUN npm install -g cnpm --registry=https://registry.npm.taobao.org

# 使用cnpm进行安装依赖
RUN cnpm install || npm install

# 使用npm run build命令打包web项目
RUN npm run build
# ===================================================== 以下为多阶段构建 ==========================================================

# 声明镜像为nginx:alpine, alpine 镜像小
FROM nginx:alpine

# 镜像编写者及邮箱
LABEL MAINTAINER="SliverHorn@sliver_horn@qq.com"

# 从.docker-compose/nginx/conf.d/目录拷贝my.conf到容器内的/etc/nginx/conf.d/my.conf
COPY .docker-compose/nginx/conf.d/my.conf /etc/nginx/conf.d/my.conf

# 从第一阶段进行拷贝文件
COPY --from=0 /gva_web/dist /usr/share/nginx/html

# 查看/etc/nginx/nginx.conf文件
RUN cat /etc/nginx/nginx.conf

# 查看 /etc/nginx/conf.d/my.conf
RUN cat /etc/nginx/conf.d/my.conf

# 查看 文件是否拷贝成功
RUN ls -al /usr/share/nginx/html



以上是关于dockerfile示例的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins-Pipeline使用示例

dockerfile示例

go项目多阶段构建Dockerfile脚本示例

有没有人有一个 Dockerfile 和命令行的简单示例,可以将外部目录从 linux 挂载到 docker 映像中?

Docker多阶段镜像构建Dockerfile脚本示例:构建nodejs前端项目

dockerfile详解