docker安装与常规使用 && dockerfile编写springbootdemo镜像

dockerfile教程参考

https://blog.csdn.net/qq_33256688/article/details/80319673

docker 创建容器命令:

docker run -d -p 10002:8080 --name springdemo springdemo

-d : 后台运行

-p :设置端口映射

--name:为容器起名

说明:镜像只需run一次加载到容器,后续通过start、stop和restart指令来管理该容器

进入docker容器里面:

建议使用exec,因为用attach,退出后会把容器也一同退出

docker exec -it mynginx /bin/sh /root/runoob.sh

-i: 即使没有附加也保持STDIN 打开

-t :  分配一个伪终端

dockerfile例子


说明:预先从oracle官网下载好JDK jdk-8u181-linux-x64.tar.gz。准备好需要打包的项目jar包(我制作了一个无任何逻辑的springboot项目)justspringdemo-1.0-SNAPSHOT.jar(我是通过maven install来打包的)

# 版本信息
FROM centos
MAINTAINER danny

# OS环境配置
#RUN yum install -y wget

# 安装JDK
RUN mkdir /var/tmp/jdk
COPY jdk-8u181-linux-x64.tar.gz /var/tmp/jdk
RUN tar xzf /var/tmp/jdk/jdk-8u181-linux-x64.tar.gz -C /var/tmp/jdk && rm -rf /var/tmp/jdk/jdk-8u111-linux-x64.tar.gz

#设置环境变量
ENV JAVA_HOME /var/tmp/jdk/jdk1.8.0_181
ENV PATH $PATH:$JAVA_HOME/bin

#打包项目并拷贝到tomcat webapps目录
COPY justspringdemo-1.0-SNAPSHOT.jar /home
RUN cd  /home

#开启内部服务端口
EXPOSE 8080

#启动tomcat服务器
CMD java -jar justspringdemo-1.0-SNAPSHOT.jar

创建自定义镜像 docker build 命令:

docker build -f springdemo_dockerfile -t springdemo .

-f : 指定需要执行的dockerfile脚本。如果不使用-f参数,docker会自动寻找默认命名文件:Dockerfile

-t :指定镜像的名称和版本号

原文地址:https://www.cnblogs.com/danny-djy/p/10947948.html

时间: 2024-10-08 03:30:29

docker安装与常规使用 && dockerfile编写springbootdemo镜像的相关文章

docker 应用-2(Dockerfile 编写以及镜像保存提交)

我们可以从docker hub上pull别人的镜像,也可以将容器进行修改,然后commit镜像,并把镜像push到docker hub上被被人使用.但是,直接pull或者push镜像的方式太过笨重,尤其在镜像体积很大的时候. Dockerfile就可以让我们用写脚本的方式自动化构建镜像,避免对容器修改+提交的方式构建镜像,也可以让我们不用每次都耗时耗力的pull一个远程镜像. Dockerfile的编写 直接看官方文档吧:https://docs.docker.com/engine/refere

docker学习笔记18:Dockerfile 指令 VOLUME 介绍

在介绍VOLUME指令之前,我们来看下如下场景需求: 1)容器是基于镜像创建的,最后的容器文件系统包括镜像的只读层+可写层,容器中的进程操作的数据持久化都是保存在容器的可写层上.一旦容器删除后,这些数据就没了,除非我们人工备份下来(或者基于容器创建新的镜像).能否可以让容器进程持久化的数据保存在主机上呢?这样即使容器删除了,数据还在. 2)当我们在开发一个web应用时,开发环境是在主机本地,但运行测试环境是放在docker容器上. 这样的话,我在主机上修改文件(如html,js等)后,需要再同步

实战docker,编写Dockerfile定制tomcat8镜像,实现web应用在线部署

最初在tomcat上部署web应用的方式,是通过maven的maven-compiler-plugin插件先打成war包,再将war包复制到tomcat的webapps目录下,后来用上了tomcat7-maven-plugin插件,可以直接在maven上编译,打包,部署一次性完成,这个方法的关键是在tomcat上创建一个用户账号,然后maven插件用此账号和密码来执行在线部署. 本次实践中,我们要动手制作一个镜像,这个镜像run起来后是个tomcat server,这个server支持maven

实战docker,编写Dockerfile定制tomcat镜像,实现web应用在线部署

最初在tomcat上部署web应用的方式,是通过maven的maven-compiler-plugin插件先打成war包,再将war包复制到tomcat的webapps目录下,后来用上了tomcat7-maven-plugin插件,可以直接在maven上编译,打包,部署一次性完成,这个方法的关键是在tomcat上创建一个用户账号,然后maven插件用此账号和密码来执行在线部署. 本次实践中,我们要动手制作一个镜像,这个镜像run起来后是个tomcat server,这个server支持maven

CENTOS6.5 下docker安装和配置

学习下最新的一些动向  docker就是一个新兴的好东西. 1 docker简介    Docker 提供了一个可以运行你的应用程序的封套(envelope),或者说容器.它原本是 dotCloud 启动的一个业余项目,并在前些时候开源了.它吸引了大量的关注和讨论,导致 dotCloud 把它重命名到 Docker Inc.它最初是用 Go 语言编写的,它就相当于是加在 LXC(LinuX Containers,linux 容器)上的管道,允许开发者在更高层次的概念上工作.    Docker

CentOS 64(位)docker安装与启动

一.docker简介 Docker 提供了一个可以运行你的应用程序的封套(envelope),或者说容器,是轻量级的"容器引擎+映像仓库",在LXC(linux轻量级容器)的基础上构建,可以运行任何应用程序. Docker 扩展了 Linux 容器(Linux Containers),或着说 LXC,通过一个高层次的 API 为进程单独提供了一个轻量级的虚拟环境.Docker 利用了 LXC, cgroups 和 Linux 自己的内核.和传统的虚拟机不同的是,一个 Docker 容器

DockerFile实战(二):DockerFile编写要求与基本风格

之前分享了一个Nginx的Dockerfile实战文章,但这是基于原有镜像的基础上去添加修改的,那么本文 来详细讲解一下,如何从ubuntu镜像生成一个Nginx镜像 Step1: #最开始,还是需要先搜索一个可用的镜像 $docker search ubuntu #在这里,可以看到许多的相关镜像,但这里我们安装第一个就可以,可以看STARS评级很高的那个 $docker pull ubuntu #如果网络情况够好的话,稍等片刻,一个可用的镜像就下载完毕了 Step2: 下载完镜像以后,我们需要

CentOS6.8下docker安装部署

1 docker简介 Docker 提供了一个可以运行你的应用程序的封套(envelope),或者说容器.它原本是 dotCloud 启动的一个业余项目,并在前些时候开源了.它吸引了大量的关注和讨论,导致 dotCloud 把它重命名到 Docker Inc.它最初是用 Go 语言编写的,它就相当于是加在 LXC(LinuX Containers,linux 容器)上的管道,允许开发者在更高层次的概念上工作. Docker 扩展了 Linux 容器(Linux Containers),或着说 L

手把手教你写Dockerfile, 附赠MongoDB和Nginx Dockerfile编写实例

手把手教你写Dockerfile, 附赠MongoDB和Nginx Dockerfile编写实例 基础镜像可以用于创建Docker容器.镜像可以非常基础,仅仅包含操作系统:也可以非常丰富,包含灵巧的应用栈,随时可以发布.当你在使用 Docker构建镜像的时候,每一个命令都会在前一个命令的基础上形成一个新层.这些基础镜像可以用于创建新的容器.本篇文章将手把手教您如何从基础镜 像,一步一步,一层一层的从Dockerfile构建容器的过程. Docker简介 Docker项目提供了构建在Linux内核