为什么80%的码农都做不了架构师?>>>   

Docker镜像

  • 由文件系统叠加而成
  • 最底端第一层是引导文件系统bootfs,类似grub
  • 镜像第二层是root文件系统rootfs

列出镜像

huangyi@HP ~ % sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu              latest              cdd474520b8c        2 days ago          188 MB

删除镜像

sudo docker rmi ubuntu

镜像与容器关系

一对多

镜像 ——> 程序

容器 ——> 进程

仓库

查看ubuntu仓库中其他镜像

HP docker # sudo docker pull ubuntu
Pulling repository ubuntu
c6a3582257ff: Pulling image (vivid-20150528) from ubuntu, endpoint: https://registry-1.docker.io/v1/
5ba9dab47459: Pulling image (14.04.1) from ubuntu, endpoint: https://registry-1.docker.io/v1/

commit 构建新镜像

创建一个要进行修改的定制容器

sudo docker run -i -t ubuntu /bin/bash

在容器中安装vim

root@93a46591d393:/# sudo apt-get install vim
Reading package lists... Done

提交

HP huangyi # sudo docker commit 93a46591d393 ubuntu/myvim
3806f1faa5f007ccc756c96490d23c75fb8ede77775c3cd2b310617038157876

查看本机现在的Repo,可以看见多了一个ubuntu/myvim

HP huangyi # sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu/myvim        latest              3806f1faa5f0        2 minutes ago       231.4 MB
ubuntu              latest              cdd474520b8c        3 days ago          188 MB

##基于 Dockerfile 构建新镜像

HP Docker # tree
.
└── static_web└── Dockerfile

Dockerfile文件

# Version: 0.01
FROM ubuntu
MAINTAINER name "ituzhi@163.com"
RUN apt-get update
RUN apt-get install -y nginx
RUN echo 'Hi, I am in your container' \> /usr/share/nginx/html/index.html
EXPOSE 80

构建镜像

sudo docker build -t="name/static_web" .

参看Repo,可以看见多了一个name/static_web

huangyi@HP ~ $ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
name/static_web    latest              1f8ee6fd2bd6        5 minutes ago       227.7 MB
ubuntu/myvim        latest              3806f1faa5f0        29 minutes ago      231.4 MB
ubuntu              latest              cdd474520b8c        3 days ago          188 MB

上述每一条RUN语句都会生成新镜像,更新镜像ID,删除旧的镜像。

查看最终镜像

huangyi@HP ~ $ sudo docker run -t -i 1f8ee6fd2bd6 /bin/bash
root@778aa645f23f:/# cat /usr/share/nginx/html/index.html
Hi, I am in your containe

可见镜像构建成功。

也可以启动容器中的Nginx。

sudo docker run -i -t -p 80 titus/static_web
nginx -g "daemon off";

-p选项将宿主机的49153端口绑定到容器的80端口,在宿主机中

HP static_web # curl 192.168.1.154:49153
Hi, I am in your container

##镜像推送到 Docker Hub 登陆 Docker Hub

sudo docker login

推送

docker push name/web

需要特别注意的是构建时的username一定是Docker Hub中的用户名,

sudo docker build -t="name/static_web" .

##参考

http://stackoverflow.com/questions/25388684/pushing-docker-image-to-dockerhub

转载于:https://my.oschina.net/lvyi/blog/515775

使用Docker镜像和仓库相关推荐

  1. Docker系列之三:使用Docker镜像和仓库

    系列链接 Docker系列之一:Docker介绍及在Ubuntu上安装 Docker系列之二:Docker 入门 Docker系列之三:使用Docker镜像和仓库 Docker系列之四:Dockerf ...

  2. 第一章 docker 镜像,容器,仓库基本命令(二)

    仓库(repository)是镜像存放的地方,目前官方维护了一个公共仓库 https://hub.docker.com; 具体的操作自行百度, 这里我们讨论如何搭建私有仓库 1.拉取仓库 $ dock ...

  3. Docker镜像的仓库(Harbor)

    一.简介 1.镜像的仓库 镜像仓库用于存放 Docker镜像 Docker registry提供镜像仓库服务 一个 Docker registry可以包含多个镜像仓库 仓库分为公共镜像仓库与私有镜像仓 ...

  4. docker镜像和仓库

    文章目录 一.docker镜像 1.镜像的分层结构 (1).分层结构案例 (2).容器层详解 2.镜像的构建 (1). 创建一个Dockerfile (2).构建镜像 (3).查看镜像的分层结构 (4 ...

  5. Docker学习(三)-----Docker镜像和仓库了解以及加速

    镜像(Image)是构建容器的基础,镜像是一种分层结构的文件系统.我们可以从仓库(Repository)中下载镜像,而仓库又保存在Registry中,Docker Hub是Docker官方提供的Reg ...

  6. 使用Docker镜像和仓库(4)

    创建一个基本的Docker容器:$ sudo docker run -i -t --name another_container_mum ubuntu /bin/bash root@b415b317a ...

  7. Docker镜像与仓库(四)

    Dockerfile方式创建镜像 https://hub.docker.com/_/centos/ #找一个centos6.6 的dockerfile链接 [root@linux-node1 ~]# ...

  8. 搭建docker镜像私有仓库

    1.拉取registry镜像 docker pull registry 2.配置私有仓库地址 vim /etc/docker/daemon.json 输入如下参数,注意修改为自己的ip地址: &quo ...

  9. docker镜像内容如何查看_如何快速打通 Docker 镜像发布流程?

    作者 | 菜菜 责编 | 郭芮 YY妹:菜菜哥,我看了一下Docker相关的内容,但是还是有点迷糊. 菜菜:还有哪不明白呢? YY妹:如果我想用Docker实现所谓的云原生,我的项目该怎么发布呢? 菜 ...

最新文章

  1. spring security remember me实现自动登录
  2. 计算机四级信息安全题,2014年计算机四级考试信息安全工程精选真题
  3. 【深度学习】Tensorflow的基本操作
  4. linux关闭计算机的命令是,关闭Linux计算机的正确命令和方法
  5. 语言认知偏差_认知语言学可以教给开发人员什么
  6. 刷题总结——road(ssoi)
  7. python输入时间限制_用Python计算用户输入时间
  8. .net操作xml小结 (转)
  9. SSLOJ 1336.膜拜神牛
  10. Autodesk Map3d的应用和开发
  11. Linux经典书籍推荐-转
  12. java jmx 监控_利用VisualVm和JMX远程监控Java进程
  13. windows捕获串口数据_如何下载和安装用于Windows数据包捕获的Npcap库?
  14. jeecg-boot环境搭建
  15. springboot-grpc
  16. 方舟手游显示服务器超实,全渠道预约超过2200万,《方舟:生存进化手游》开启未来手游新篇章...
  17. 手写简易版Vue源码之数据响应化的实现
  18. Exception:There is no getter for property named ‘qo‘ in ‘class cn.xxxxxx.rbac.qo.XxxxQo 的两种错误可能及解决方案
  19. Docker基础篇 - (六)Docker 网络Spring Boot微服务打包Docker镜像
  20. python控制nao机器人_python 程序控制NAO机器人行走

热门文章

  1. c++ STL 全排列
  2. Redis运维和开发学习笔记(7) 内存管理和过期策略
  3. matlab寻找向量最小值,matlab – 在排序向量中快速搜索大于x的最小值
  4. c++中运算符重载(加号运算,左移运算,前置后置++运算符,赋值运算,关系运算,函数运算)
  5. 数据库原理及应用【三】DBMS+SQL
  6. (C++版)链表(二)——实现单项循环链表创建、插入、删除等操作
  7. 【C++】rand函数的基本使用
  8. 《STL源码剖析常见面试问题》
  9. MMKV集成与原理,详细学习指南
  10. jQuery学习笔记(二)—— 操作DOM元素