# 第一次go语言 beego项目容器dockerfle
FROM ubuntu
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
#RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#RUN echo 'Asia/Shanghai' >/etc/timezone
RUN mkdir /app
COPY cybeego/conf /app/conf
COPY cybeego/static /app/static
COPY cybeego/views /app/views
COPY cybeego/cybeego /app/cybeego
WORKDIR /app
RUN chmod +x cybeego
EXPOSE 8080
ENTRYPOINT ["./cybeego"]
# go语言镜像和 启动解决ubuntu时区问题:
# beego代码 model启动设置Local
orm.RegisterDataBase("default", "mysql", "root:123456@tcp(127.0.0.1:3306)/CMSdb?charset=utf8&loc=Local")
# dockerfile编写
# 最后启动
docker run -it -p 8080:8080 -v /etc/localtime:/etc/localtime -v /root/code/conf:/app/conf cybeego-ubuntu-local
# 张阳 dockerfile
FROM openjdk:8-jdk-alpine
RUN mkdir /app
COPY target/cloudnative.jar /app
WORKDIR /app
EXPOSE 9000
ENTRYPOINT ["java","-jar","cloudnative.jar"]
# myfirst flask
FROM debian
RUN mkdir /myapp
COPY app/ /myapp
WORKDIR /myapp
EXPOSE 5005
ENTRYPOINT ["./app"]
docker中使用Dockerfile部署springboot项目 - yamiya - 博客园
1、准备springboot项目jar包和Dockerfile文件
FROM java:8
VOLUME /tmp
ADD eladmin.jar eladmin.jar
EXPOSE 8080
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/eladmin.jar"]
FROM:表示基础镜像,即运行环境
VOLUME /tmp创建/tmp目录并持久化到Docker数据文件夹,因为Spring Boot使用的内嵌Tomcat容器默认使
用/tmp作为工作目录
ADD(和COPY类似 可以直接拷贝目录 并修改目录名称 无需 -r):
拷贝文件并且重命名(ADD eladmin.jar eladmin.jar 将应用jar包复制到/exam.jar)
EXPOSE:并不是真正的发布端口,这个只是容器部署人员与建立image的人员之间的交流,即建立image的人
员告诉容器布署人员容器应该映射哪个端口给外界
ENTRYPOINT:容器启动时运行的命令,相当于我们在命令行中输入java -jar xxxx.jar,为了缩短 Tomcat 的启
动时间,添加java.security.egd的系统属性指向/dev/urandom作为 ENTRYPOINT
2、构建镜像
把jar包和Dockerfile放在同一个目录下执行下面命令
docker build -t image .
3、运行容器
docker run -d --name 容器名称 -p 8080:8080 镜像名称
其中-d表示后台运行容器,这也就自然地解决的Spring Boot不支持后台运行应用程序的问题。
-p 8080:8080表示将容器内部的8080端口映射到宿主机器的8080端口,这样就可以通过宿主机器直接访问应
用。
--name 给容器取一个容易记住的名字方便日后管理。
4、查看运行日志
docker logs -f --tail=100 容器名称
tail后面是常看日志的条数