dockerfile 入门详解

3 篇文章 0 订阅
1 篇文章 0 订阅

一,安装

docker pull centos:centos7

安装完成使用 docker images 查看
在这里插入图片描述
在docker容器中能找到这个就代表成功了!!!

启动

docker run -itd --name centos-test centos:centos7

使用启动命令后,在用我们查看docker中容器的命令查看(docker ps)能看到正在运行的容器
在这里插入图片描述
进入容器内部查看

docker exec -it 容器Id /bin/bash

在这里我们可以看到 centos 跟我们服务器或者虚拟机的目录结构一样,
但是这里他有 vi 等这些命令 ,但是没有 vim 以及 netatst -ntlp 等这些命令

在这里插入图片描述

二,创建自己的dockerfile

首先我们需要了解他的指令

关键字说明
FROM基础镜像,当前新镜像是基于哪个镜像的
MAINTAINER镜像维护者的姓名混合邮箱地址
RUN容器构建时需要运行的命令
EXPOSE当前容器对外保留出的端口
WORKDIR指定在创建容器后,终端默认登录的进来工作目录,一个落脚点
ENV用来在构建镜像过程中设置环境变量
ADD将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包
COPY类似ADD,拷贝文件和目录到镜像中!
VOLUME容器数据卷,用于数据保存和持久化工作
CMD指定一个容器启动时要运行的命令,dockerFile中可以有多个CMD指令,但只有最后一个生效!
ENTRYPOINT指定一个容器启动时要运行的命令!和CMD一样
ONBUILD当构建一个被继承的DockerFile时运行命令,父镜像在被子镜像继承后,父镜像的 ONBUILD被触发

dockerFile文件,首次测试

#继承自哪一个基础的镜像
FROM centos:centos7
#作者信息
MAINTAINER vhai<你的邮箱>
#容器构建时需要的命令
RUN yum -y install vim*
#安装netstat命令
RUN yum -y install net-tools
#配置环境参数(定义的时候不需要加$,引用的时候需要加)
ENV MYPATH /usr/local
#切换目录
WORKDIR $MYPATH
#安装jdk(将宿主机的文件添加到容器,并且会解压)
ADD jdk-8u221-linux-x64.tar.gz /usr/local
#配置jdk的环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_221
ENV CLASSPATH=.:${JAVA_HOME}/jer/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
ENV PATH=$PATH:${JAVA_HOME}/bin
#暴露端口
EXPOSE 80
#启动centos
CMD /bin/bash
# 多个一起执行 与CMD 两者选一即可
ENTRYPOINT ["/bin","bash"]

将配置文件写完我们在服务或者虚拟机的home目录下新建一个Dockerfile 文件
在这里插入图片描述

开始启动我们的dockerfile
docker build -f Dockerfile -t mycentos:1.0 .
运行我的自己构建好的镜像
docker run -itd --name centos-test mycentos:1.0
进入容去内部测试我们配置好的环境
docker exec -it 容器id /bin/bash

我们这边配置的是 jdk的环境 所以可以进入后使用Java和Javac来测试环境哦

注意:

这里需要我们在宿主机(就是我们的服务器或者虚拟机上)上放置一个jdk的安装包,没有的话在安装jdk时会失败
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值