自学macOS使用Dockerfile创建镜像(一)

macOS环境下基于Dockerfile创建centos+jdk8镜像

  • 准备
    • 1.下载JDK8安装包,因为Oracle现在不支持wget直接下载jdk包,所以预先下载好放到Dockerfile同级目录下
    • 2.打开终端,vim Dockerfile
    • 3.创建完Dockerfile,执行命令创建镜像
    • 4.创建容器
    • 5.启动镜像
    • 6.注意一个小坑

准备

1.下载JDK8安装包,因为Oracle现在不支持wget直接下载jdk包,所以预先下载好放到Dockerfile同级目录下

自学macOS使用Dockerfile创建镜像(一)_第1张图片

2.打开终端,vim Dockerfile

FROM centos:latest
ENV ROOTPATH /usr/local
#切换目录
WORKDIR $ROOTPATH
RUN yum install -y vim
# RUN yum install net-tools
RUN yum install -y wget
RUN yum install -y setup
RUN yum install -y perl
COPY jdk-8u281-linux-x64.rpm $ROOTPATH
# RUN echo "start to install"
RUN chmod +x jdk-8u281-linux-x64.rpm
RUN rpm -ivh jdk-8u281-linux-x64.rpm
ENV JAVA_HOME /usr/local/jdk-8u281-linux-x64
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH
RUN java -version
#暴露端口
EXPOSE 8080

3.创建完Dockerfile,执行命令创建镜像


Docker中检查镜像是否生成
在这里插入图片描述

4.创建容器

docker build -f Dockerfile -t my-centos .

在这里插入图片描述

5.启动镜像

docker run --privileged -it -d --name demo -p 8080:8080 my-centos

6.注意一个小坑

Docker的机制是让容器后台运行,必须至少有一个前台进程,容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),会自动退出

你可能感兴趣的:(docker)