dockerfile简解以及复制到容器中
前言我的dockerfileFROM registry.cn-qingdao.aliyuncs.com/healerjean/dev-server:1#FROM java:8MAINTAINER HealerJeanADD target/admin-1.0-SNAPSHOT.jar app.jar#将字体打包到镜像中COPY dockerDirector...
·
前言
我的dockerfile
FROM registry.cn-qingdao.aliyuncs.com/healerjean/dev-server:1
#FROM java:8
MAINTAINER HealerJean
ADD target/admin-1.0-SNAPSHOT.jar app.jar
#将字体打包到镜像中
COPY dockerDirectory/PingFang.ttc /usr/share/fonts/truetype/dejavu/
CMD ["java","-jar","-Xms256m","-Xmx7000m","/app.jar"]
1、FROM
FROM 指令用于指定其后构建新镜像所使用的基础镜像。FROM 指令必是 Dockerfile 文件中的首条命令,启动构建流程后,Docker 将会基于该镜像构建新镜像,FROM 后的命令也会基于这个基础镜像。 这就是为什么我上面写了java:8和来自阿里云的url,一开始阿里云自定镜像并没有创建成功,所以用了java8
2、MAINTAINER 作者
3、COPY 复制
COPY dockerDirectory/PingFang.ttc /usr/share/fonts/truetype/dejavu/
3.1<源路径>可以是多个,甚至可以是通配符, 但是只能是相对路径
3.2、<目标路径>可以是容器内的绝对路径,也可以是相对于工作目录的相对路径,这里官方说是目标路径不存在的话会自动创建,但是我测试的时候,并没有自动创建。而是报错了
4、ADD 更高级的复制文件
ADD target/admin-1.0-SNAPSHOT.jar app.jar
ADD 指令和 COPY 的格式和性质基本一致。但是在 COPY 基础上增加了一些功能。比如 <源路径>可以是一个 URL,这种情况下,Docker 引擎会试图去下载这个链接的文件放到 <目标路径>去。
进入容器中观察,发现直接app.jar就在根目录下面,说吧是根据From的基础镜像打包进去的
root@19d5e118852b-dev-server-server-dev-8086-1:/# cd /
root@19d5e118852b-dev-server-server-dev-8086-1:/# ls -l
total 78744
-rw-r--r-- 1 root root 80568237 Aug 29 03:24 app.jar
drwxr-xr-x 2 root root 4096 Jan 17 2017 bin
drwxr-xr-x 2 root root 4096 Dec 28 2016 boot
drwxr-xr-x 5 root root 340 Aug 29 03:33 dev
drwxr-xr-x 83 root root 4096 Aug 29 03:33 etc
drwxr-xr-x 2 root root 4096 Dec 28 2016 home
drwxr-xr-x 13 root root 4096 Jan 17 2017 lib
drwxr-xr-x 2 root root 4096 Jan 16 2017 lib64
drwxr-xr-x 2 root root 4096 Jan 16 2017 media
drwxr-xr-x 2 root root 4096 Jan 16 2017 mnt
drwxr-xr-x 2 root root 4096 Jan 16 2017 opt
dr-xr-xr-x 142 root root 0 Aug 29 03:33 proc
drwx------ 2 root root 4096 Jan 16 2017 root
drwxr-xr-x 3 root root 4096 Jan 16 2017 run
drwxr-xr-x 2 root root 4096 Jan 16 2017 sbin
drwxr-xr-x 2 root root 4096 Jan 16 2017 srv
dr-xr-xr-x 13 root root 0 Aug 29 03:33 sys
drwxrwxrwt 7 root root 4096 Aug 29 03:33 tmp
drwxr-xr-x 32 root root 4096 Aug 29 03:33 usr
drwxr-xr-x 23 root root 4096 Jan 17 2017 var
root@19d5e118852b-dev-server-server-dev-8086-1:/#
5、CMD 指定在容器启动时所要执行的命令
CMD [“executable”,“param1”,“param2”]
CMD ["java","-jar","-Xms256m","-Xmx7000m","/app.jar"]
更多推荐
已为社区贡献4条内容
所有评论(0)