创建镜像

一、根据dockerfile创建镜像

文件详解

1、mkdir dockerfile/lib/centos7base/

创建目录

2、创建Dockerfile

vim Dockerfile

3、构建镜像

docker build -t wyxcentos7 .

过程解析
docker镜像是只读的,这里为什么能够在centos镜像的基础上进行自定义操作呢?
我们看一下docker的编译过程

编译的第一步(绿色边框)会复用之前已经存在的centos:7
重点是第二步
882832c2b8eb其实是在centos:7镜像的基础上生成的一个临时container的id
我们忽略vim的安装过程,跳到最后

最后根据临时生成的container来docker commit 生成镜像文件,最后删除临时container(对照博客开始的图示进行理解)
2、根据容器构建镜像

1、拉去一个镜像

docker run -it centos

(run =(pull start exec))

2、查看vim

3、安装一个vim

yum intall vim

4、退出容器

exit

5、提交容器

进入容器

docker exec -it 69d1 bash
退出
exit

推送镜像到harbor

1、打标签

docker tag wyxcentosvim:latest 192.168.31.101/library/wyxcentosvim:latest

2、推送

docker push wyxcentosvim:latest 192.168.31.101/library/wyxcentosvim:latest

docker push 192.168.31.101/library/wyxcentosvim:1.02

3、删除本地镜像

docker rmi .........

无法删除镜像multiple repositories

原因:对于被删除的ImageID,这里存在多个REPOSITORY名字引用。通过镜像名字删除。

https://blog.csdn.net/JackLiu16/article/details/80581709

4、拉取镜像

docker pull 192.168.31.101/library/wyxcentosvim:latest

推荐文章:https://www.jianshu.com/p/1409967439d6

Docker创建镜像 并推拉Harbor的更多相关文章

  1. Docker 创建镜像、修改、上传镜像

    Docker 创建镜像.修改.上传镜像 –创建镜像有很多方法,用户可以从 Docker Hub 获取已有镜像并更新,也可以利用本地文件系统创建一个. 一.创建镜像 创建镜像有很多方法,用户可以从 Do ...

  2. Docker创建镜像以及私有仓库

    Docker的安装及镜像.容器的基本操作详见博客https://blog.51cto.com/11134648/2160257下面介绍Docker创建镜像和创建私有仓库的方法,详细如下: 创建镜像 创 ...

  3. docker 创建镜像,并推送到私有仓库

    创建镜像 创建  Dockerfile 镜像命名规则:registyr_url / namespace / depart / name : version 用这个规则创建的镜像,可直接推送到私有仓库 ...

  4. Docker创建镜像文件并在容器中运行

    1.如何创建镜像文件 首先找到Docker ToolBox安装的路径,在路径下直接新建Dockerfile文件 在Dockerfile文件里写入的内容为: FROM docker/whalesay:l ...

  5. Docker - 创建镜像(二)

    实际工作中,我们可能需要自己去创建一个docker镜像,下面给大家介绍如何创建docker镜像 1. 创建一个最简单的镜像 准备Dockerfile文件 [root@dockhost ~]# mkdi ...

  6. docker 创建镜像

    docker:/root# docker search centos NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos The official bui ...

  7. docker创建镜像

    手动创建: docker run -d -p mynginx:v2 nginx rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest- ...

  8. docker创建镜像及push镜像出错问题

    docker build  出错 Got permission denied while trying to connect to the Docker daemon socket at unix:/ ...

  9. [容器]docker创建镜像

    手动创建: docker run -d -p mynginx:v2 nginx rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest- ...

随机推荐

  1. Python垃圾回收机制?

    Python的GC模块主要运用了“引用计数”(reference counting)来跟踪和回收垃圾.在引用计数的基础上,还可以通过“标记-清除”(mark and sweep)解决容器对象可能产生的 ...

  2. Ajax的个人总结

    Ajax Ajax是Asynchronous Javascript And XML(异步JavaScript和XML)的缩写. Ajax技术描述了使用脚本操纵HTTP和Web服务器进行数据交换,在页面 ...

  3. LeetCode 743. Network Delay Time

    原题链接在这里:https://leetcode.com/problems/network-delay-time/ 题目: There are N network nodes, labelled 1  ...

  4. c++ socket发送数据时,sendData = char * string 导致的乱码问题

    解决方法:将string 通过copy函数复制到某个char[] 1. string res =“xxx”; char arr[100]; int len = res.copy(arr, 100); ...

  5. learning java 转换流

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public ...

  6. 洛谷 P2858 [USACO06FEB]奶牛零食Treats for the Cows 题解

    P2858 [USACO06FEB]奶牛零食Treats for the Cows 题目描述 FJ has purchased N (1 <= N <= 2000) yummy treat ...

  7. P4899 【[IOI2018] werewolf 狼人】

    感觉已经几次碰到这种类型的题目了,写篇\(Blog\)总结一下 题意: 是否存在一条\((s_i, t_i)\)的路径,满足先只走编号不超过\(L_i\)的点,再走编号不超过\(R_i\)的点 \(S ...

  8. CF888G 【Xor-MST】

    妙妙题-- 看到\(MST\),想到\(Kruskal\),看到异或,想到\(Trie\) 首先我们模拟一下\(Kruskal\)的流程:找到最小边,如果联通就忽略,未联通就加边 我们把所有点权值加入 ...

  9. (15)Go错误处理

    1.erro(一般错误) package main import ( "errors" "fmt" ) func div(a, b int) (res int) ...

  10. SSH框架整合1

    ======================web.xml======================= <?xml version="1.0" encoding=" ...