镜像制作&Dockfile

80 阅读1分钟

###导入基镜像

docker load < adoptopenjdk-8u222-b10-jdk-hotspot-bionic-x86.tar

###编制Dockfile

FROM adoptopenjdk-8u222-b10-jdk-hotspot-bionic:x86 
WORKDIR /app  
COPY serverrootpath/bin /app/bin 
COPY serverrootpath/components /app/components 
COPY serverrootpath/metadata /app/metadata 
COPY serverrootpath/server /app/server 
COPY serverrootpath/startup.sh /app/startup.sh 
COPY serverrootpath/web /app/web   
RUN chmod a+x startup.sh 
ENTRYPOINT ["./startup.sh"]

###创建.dockerignore文件以排除发送Docker服务端的文件

serverrootpath/tools/
serverrootpath/gclog
serverrootpath/server/log/*.log 
serverrootpath/server/log/*.gz 
serverrootpath/nohup.out 

###进入目录,执行镜像制作

docker build -f Dockerfile -t harborurl.com:8080/projectname/imagesname:tag .

###展示Docker环境中的镜像列表,用来查看是否创建成功

 docker images 

###Docker登录到仓库

docker login harborurl.com:8080
Username: xxx
Password:

###重新打标签

# docker tag  镜像ID  仓库地址:端口/harbor中项目名/镜像名:版本tag
docker tag 663f13bea92d harborurl.com:8080/projectname/imagesname:tag

###镜像推送到仓库

docker push harborurl.com:8080/projectname/imagesname:tag

###导出镜像为文件(无仓库情况才会用到)

docker save -o name.tar harborurl.com:8080/projectname/imagesname:tag

###其他

#空间占用查看
docker system df
#Images:所有镜像占用的空间,包括拉取下来的镜像,和本地构建的。
#Containers:运行的容器占用的空间,表示每个容器的读写层的空间。
#Local Volumes:容器挂载本地数据卷的空间。
#Build Cache:镜像构建过程中产生的缓存空间(只有在使用 BuildKit 时才有,Docker 18.09 以后可用)。
#删除不用的镜像
docker rmi -f name:tag
#删除镜像构建时候的缓存
docker builder prune
#删除不用的数据卷
docker volume prune
#一键清理
docker system prune