导入基镜像
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
标签:app,tag,serverrootpath,Dockfile,镜像,docker,COPY,制作
From: https://www.cnblogs.com/tshuai/p/17783457.html