dockerfile教程参考
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 :指定镜像的名称和版本号