爱她吗 发表于 2019-2-22 06:43:38

docker通过运行容器制作共享tar镜像包


[*]  镜像构建:
docker commit 【option】
-a 指明作者
-p 暂停容器再建立镜像

# docker commit -p -a "vicliaoxz " centos2
sha256:ead743182b50ba021d5eee144aad229cbcf093f6796363b11e366f6117a62fab
# docker images
REPOSITORY            TAG               IMAGE ID            CREATED            SIZE
                              ead743182b50      About a minute ago   302 MB
# docker run -it --name c-net-tools ead743182b50
# ifconfig
eth0: flags=4163mtu 1500
inet 172.17.0.4netmask 255.255.0.0broadcast 0.0.0.0
inet6 fe80::42:acff:fe11:4prefixlen 64scopeid 0x20
[*]  给镜像添加标签

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
# docker tag ead743182b50(ID) vicdockerhub(用户名)/centos(基础镜像):net-tools(标签)
# docker images
REPOSITORY            TAG               IMAGE ID            CREATED             SIZE
vicdockerhub/centos   net-tools         ead743182b50      21 minutes ago      302 MB
[*]  推送镜像
3.1.推送到docker-hub(需要注册一个dockerhub账号)

# docker login -u vicdockerhub
Password:
Login Succeeded
# docker push vicdockerhub/centos:net-tools
The push refers to a repository
  3.2.上传到私有仓库:
docker tag vicdockerhub/centos:net-tools myregistry.liaoxz.xin:5000/vicdockerhub/centos:net-tools

[*]  将镜像保存为tar包
docker ecport 导出为一个容器

Usage:docker save IMAGE
Options:
-o, --output string   Write to a file, instead of STDOUT
# docker save vicdockerhub/centos:net-tools -o centos-net-tools.tar
# ls
centos-net-tools.tar
[*]外部tar包导入镜像

docker load
docker load -i 指定镜像tar包
# docker load -i centos-net-tools.tar
Loaded image: vicdockerhub/centos:net-tools
# docker images
REPOSITORY                                       TAG               IMAGE ID            CREATED             SIZE
myregistry.liaoxz.xin:5000/vicdockerhub/centos   net-tools         ead743182b50      51 minutes ago      302 MB
vicdockerhub/centos                              net-tools         ead743182b50      51 minutes ago      302 MB



页: [1]
查看完整版本: docker通过运行容器制作共享tar镜像包