Docker创建镜像 并推拉Harbor
创建镜像

一、根据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的更多相关文章
- Docker 创建镜像、修改、上传镜像
Docker 创建镜像.修改.上传镜像 –创建镜像有很多方法,用户可以从 Docker Hub 获取已有镜像并更新,也可以利用本地文件系统创建一个. 一.创建镜像 创建镜像有很多方法,用户可以从 Do ...
- Docker创建镜像以及私有仓库
Docker的安装及镜像.容器的基本操作详见博客https://blog.51cto.com/11134648/2160257下面介绍Docker创建镜像和创建私有仓库的方法,详细如下: 创建镜像 创 ...
- docker 创建镜像,并推送到私有仓库
创建镜像 创建 Dockerfile 镜像命名规则:registyr_url / namespace / depart / name : version 用这个规则创建的镜像,可直接推送到私有仓库 ...
- Docker创建镜像文件并在容器中运行
1.如何创建镜像文件 首先找到Docker ToolBox安装的路径,在路径下直接新建Dockerfile文件 在Dockerfile文件里写入的内容为: FROM docker/whalesay:l ...
- Docker - 创建镜像(二)
实际工作中,我们可能需要自己去创建一个docker镜像,下面给大家介绍如何创建docker镜像 1. 创建一个最简单的镜像 准备Dockerfile文件 [root@dockhost ~]# mkdi ...
- docker 创建镜像
docker:/root# docker search centos NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos The official bui ...
- docker创建镜像
手动创建: docker run -d -p mynginx:v2 nginx rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest- ...
- docker创建镜像及push镜像出错问题
docker build 出错 Got permission denied while trying to connect to the Docker daemon socket at unix:/ ...
- [容器]docker创建镜像
手动创建: docker run -d -p mynginx:v2 nginx rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest- ...
随机推荐
- (实例2) TFT2.0液晶屏幕测试 mega2560
关键修改 针对mega2560板子 #define TFT_RST A4 #define TFT_RS A3 #define TFT_CS A5 // SS #define TFT_SDI A2 // ...
- Boosting and AdaBoost
Boosting是一种从一些弱分类器中创建一个强分类器的集成技术(提升算法). 它先由训练数据构建一个模型,然后创建第二个模型来尝试纠正第一个模型的错误.不断添加模型,直到训练集完美预测或已经添加到数 ...
- iis启动 服务无法在此时接受控制信息。 (异常来自 HRESULT:0x80070425)
问题描述:每隔一段时间应用程序池就会自动停止. 再次启动就报错:服务无法在此时接受控制信息. (异常来自 HRESULT:0x80070425) 处理办法:同时按下Win+R,运行“services. ...
- Linux 备份工具dump
dump的功能很强,除了可以备份整个文件外,还能够针对目录来备份,还可以指定等级.什么意思呢?假设你的/home是独立的一个 文件系统,那你第一次进行过dump后,再进行第二次dump时,可以指定不同 ...
- node.js使用cluster实现多进程
首先郑重声明: nodeJS 是一门单线程!异步!非阻塞语言! nodeJS 是一门单线程!异步!非阻塞语言! nodeJS 是一门单线程!异步!非阻塞语言! 重要的事情说3遍. 因为nodeJS天生 ...
- #C++初学记录(动态规划(dynamic programming)例题1 钞票)
浅入动态规划 dynamic programming is a method for solving a complex problem by breaking it down into a coll ...
- session机制,浏览器禁用cookie后,怎么使用session
sessionid是存储在cookie中的,解决方案如下: Session URL重写,保证在客户端禁用或不支持COOKIE时,仍然可以使用Session session机制.session机制是一种 ...
- PHP cURL 超时设置 CURLOPT_CONNECTTIMEOUT 和 CURLOPT_TIMEOUT 的区别
PHP cURL 的超时设置有两个 CURLOPT_CONNECTTIMEOUT 和 CURLOPT_TIMEOUT,他们的区别是: CURLOPT_CONNECTTIMEOUT 用来告诉 PHP 在 ...
- Java-JUC(十四):SimpleDateFormat是线程不安全的
SimpleDateFormat是Java提供的一个格式化和解析日期的工具类,日常开发中应该经常会用到,但是由于它是线程不安全的,多线程公用一个SimpleDateFormat实例对日期进行解析.格式 ...
- MYSQL事务的开启与提交
MYSQL 事务处理主要有两种方法: 1.用 BEGIN, ROLLBACK, COMMIT来实现 BEGIN 开始一个事务 ROLLBACK 事务回滚 COMMIT 事务确认 2.直接用 SET 来 ...