03 docker篇 dockerfile制作镜像操作[待美化]

[暂未美化]

进阶一 :

自己制作镜像(之前是引用他人镜像)

1. 本地创建一个文件夹

2. 创建jdk文件夹*(随意)

3. 导入jdk8u51.tar.gz (都行-> 看解压版本)

4. 在当前目录创建Dockerfile 粘贴一下配置

FROM centos:8
ADD jdk-8u51-linux-x64.tar.gz /usr/local/docker
ENV JAVA_HOME=/usr/local/docker/jdk1.8.0_51 \
    PATH=/usr/local/docker/jdk1.8.0_51/bin:$PATH
CMD ['bash']

5. 运行 docker build创建镜像

docker build  -t    jdk:8 .   

 5.1 运行结果展示: 

5.2 解释: DockerFile中配置

第一步 从docker images 镜像中 查看有没有centos:8

第二步: 将jdk_8u51 安装到 新建容器的 /usr/local/docker目录下

 第三步:  设置java home + 保留之前配置不变 查看环境变量 echo $PATH

第四步: 控制台bash交互执行

exit 退出 

docker ps -a 然后重启

6. docker build 会自动在docker镜像中出现 docker images 查看

进入后 查看 java -version

 7. 写一个java文件 HelloWorld.java

package pzy;
public class HelloWorld{
    public static void main (String[] args){
        System.out.println("pzyzx->test");
    }
}

8. javac -d . HelloWorld.java

-d : 看到package 创建这个pzy文件夹

. : 表示当前文件夹  

.class会生成在 pzy文件夹下

9. 运行 ,class文件

java pzy.HelloWorld

看到输出 pzyzx->test  成功!!!!


 根据上面 进行下一步操作 jdk:8 镜像(也是根据centos:8 制作) 


测试demo01   单独创建 sentinel.jar镜像

创建root/servers文件夹

将sentinel.jar文件拖进去

执行下面指令: 

docker run -d -p 8180:8080 --name sentinel -v /root/servers:/usr/sca jdk:8 java -jar /usr/sca/sentinel-dashboard-1.8.0.jar

参数解释:

-d 后台运行

-p : 端口映射  宿主机(8180对外暴露)   ->sentinel默认端口 : 8080(容器内)

--name: 设置容器名字(可以不写 有默认的)

-v : 本地目录挂载(或创建数据卷 volume) 宿主机sentinel地址 对应容器 新建路径(数据同步)

jdk:8 java -jar 容器内地址(容器内运行):   使用jdk:8 镜像执行sentinel.jar文件


创建centos:8镜像+ jdk.tar.gz+sentinel.jar融合的镜像 

直接docker run就可以

查看centos:8 :  docker images

创建一个文件夹(任意)

将jdk.tar.gz,sentinel.tar.gz 放到一起

vim Dockerfile  创建Dockerfile

FROM centos:8
ADD jdk-8u51-linux-x64.tar.gz  /usr/local/
ADD sentinel-dashboard-1.8.0.jar  /usr/local/
ENV JAVA_HOME=/usr/local/jdk1.8.0_51 \
    PATH=/usr/local/jdk1.8.0_51/bin:$PATH
EXPOSE 8080
ENTRYPOINT ["java","-jar","/usr/local/sentinel-dashboard-1.8.0.jar"]

参数解释: EXPOSE 对宿主机暴露端口8080 entrypoint: 运行(启动)容器时需要执行的命令 

docker build -t sentinel:8 .   #注意这个点 

运行 此镜像 设置对外暴露端口9000

docker run -d --name sentinel9000 -p 9000:8080 sentinel:8

参数解释: -d后台运行 

--name 设置容器名字

-p 设置端口映射 宿主机-> 容器 9000-> 默认8080

sentinel:8  使用刚制作的sentinel

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pingzhuyan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值