Dockerfile
FROM openjdk:8
WORKDIR /hgs/java/
#RUN ["/bin/sh","-c","rm -f /hgs/java/docker.jar"]
COPY ./docker.jar /hgs/java/
COPY ./test.sh /hgs/java/
#CMD java -cp /hgs/java/docker.jar dockertest.t.Main
CMD sh ./test.sh
1.docker container运行的时候的文件对外部不可见,container退出后就消失
针对于此docker提供了三种管理文件的方式volumes,bind mounts。
volumes:由docker管理在 /var/lib/docker/volumes/ on Linux
可以由docker volume create创建
bind mounts:是机器的绝对路径 不需要预先存在
tmpfs:放在内存中
2.
创建volume
docker volume create my-vol
查看volume
docker volume ls
volume的明细
docker volume inspect my-vol
删除volume
docker volume rm my-vol
在指定的volume下运行container(1.13.1版本docker可能不支持 --mount 这里讨论 -v(--volume))
docker run -d -v my-vol:/hgs/tmp hello:1.1
docker run -v myv:/hgs/x hello:1.1 # myv:/hgs/x 与Dockerfile的WORKDIR一致
移除volume下的文件,该操作其实是启动了一个centos:7的container来删除
docker run --rm -v fjava:/hgs/centos centos:7 rm -rf /hgs/centos/docker.jar
发布镜像到库
docker save fjava1:latest -o /home/fjava.tar.gz #-o 指定导出路径
导出镜像
docker load -i /home/fjava.tar.gz ## -i /--input 指定导入路径