重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
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 指定导入路径