dockerFile创建案例

  • A+
所属分类:Docker
dockerFile创建案例
#dockerfile 范例编写
 
#1、基础镜像
 
FROM centos
 
# 2、维护者信息
 
MAINTAINER docker_user docker_user@email.com
 
#3、镜像操作指令
 
RUN groupadd admin && useradd admin -g admin
 
RUN mkdir /usr/java
 
RUN mkdir /home/admin/app
 
COPY jdk-8u191-linux-x64.tar.gz /usr/java
 
COPY demo-0.0.1-SNAPSHOT.jar /home/admin/app
 
RUN tar xzf /usr/java/jdk-8u191-linux-x64.tar.gz -C /usr/java && rm -rf usr/java/jdk-8u191-linux-x64.tar.gz
 
#设置环境变量
 
ENV JAVA_HOME /usr/java/jdk1.8.0_191
 
ENV PATH $PATH:$JAVA_HOME/bin
 
RUN source /etc/profile
 
# 设置对外端口为 7010
 
EXPOSE 7010
 
#执行 java -jar 命令 (CMD:在启动容器时才执行此行。RUN:构建镜像时就执行此行)
 
CMD java -jar /home/admin/app/demo-0.0.1-SNAPSHOT.jar

以上为DockerFile正文,DockerFile编写完成后,需要使用Docker命令打成镜像文件。

构建docker镜像

docker build -t hellworld .

此命令最后有一个点,表示使用当前上下文的dockerfile文件 -t:给镜像取名为helloworld

启动docker镜像

docker run -d -p 7010:7010 --name dockertest helloworld

-d 后台运行

-p 7010:7010 端口映射,注意小写p (前一个7010是对外浏览器上访问的端口,后一个7010是容器内工程本身的端口,两者不一样)

--name dockertest 给容器取名为 dockertest (取名参数前面是两短横线)

hellworld 引用镜像名称

进入docker镜像

docker exec -it hellworld bash

以命令行进入docker容器,hellworld为容器名称

docker镜像打包

docker save -o helloworld.tar.gz helloworld

save命令保存一个或多个镜像到tar归档文件,helloworld.tar.gz打包后的名称, helloworld为引用镜像

  • 我的微信
  • 加好友一起交流!
  • weinxin
  • 微信公众号
  • 关注公众号获取分享资源!
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: