原文地址

基本概念

Docker三个基本概念

  • 镜像(Image)
  • 容器(Container)
  • 仓库(Repository)

镜像

镜像可以理解为只读模板,如包含一个centos操作系统环境

容器

Docker利用容器来隔离和运行应用,容器是从镜像创建的运行实例

注:镜像是只读的,容器在启动时创建一层可写层做为最上层

仓库

集中存放镜像文件的地方

Docker安装

CentOS安装Docker

CentOS6

  1. $ yum install epel-release
  2. $ yum -y remove docker
  3. $ yum install docker-io

CentOS7

  1. $ yum install docker

启动

  1. $ service docker start

随系统自启动

  1. $ chkconfig docker on

帮助

输入$ docker会列表相关命令和介绍如何查看帮助

镜像

获取镜像

  1. $ docker pull registry.aliyuncs.com/acs-sample/centos

镜像地址格式为[REGISTRYHOST/][USERNAME/]NAME[:TAG]

  • 注册服务器:registry.aliyuncs.com
  • 仓库:acs-sample/centos
  • 标记:lastest

查看镜像

  1. $ docker images

出现如下信息

  1. REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
  2. registry.aliyuncs.com/acs-sample/centos latest bf8055dc372f 6 weeks ago 196.6 MB
  • 仓库:来自哪个仓库
  • 标记:通过tag来区分版本,如centos6、centos7
  • 唯一ID
  • 创建时间
  • 大小

创建镜像

可以从DockHub获取已有镜像或通过dockerfile来创建

修改镜像

通过docker commit来实现

步骤:

1.启动容器

  1. $ docker run -it --name test registry.aliyuncs.com/xqh/centos6 /bin/bash
  2. [root@1ca39db81ee1 /]#

2.安装wget,成功exit退出

  1. $ yum install wget

3.提交更改,如果不指定tag会覆盖原有镜像

  1. $ docker commit -m 'add wget' -a 'by xqh' 1ca39db81ee1 registry.aliyuncs.com/acs-sample/centos:2```
  2. 4.查看镜像,tag=2的包含wget的镜像已经生成
  3. REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
  4. registry.aliyuncs.com/acs-sample/centos 2 1ca39db81ee1 57 seconds ago 255.7 MB
  5. **修改Tag**

$ docker tag registry.aliyuncs.com/acs-sample/centos:2 test```

  1. REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
  2. registry.aliyuncs.com/acs-sample/centos 2 1ca39db81ee1 16 minutes ago 255.7 MB
  3. test latest 1ca39db81ee1 16 minutes ago 255.7 MB

上传镜像

把自己的镜像通过docker push上传到仓库

导出和导入

  1. $ docker save -o centos-test.tar registry.aliyuncs.com/acs-sample/centos:2
  2. $ docker load -i centos-test.tar

删除镜像

docker rm来移除本地镜像,移除镜像前要先移除依赖这个镜像的容器

容器

新建并启动

新建并启动docker run,如

  1. $ docker run -it --name test registry.aliyuncs.com/xqh/centos6 /bin/bash

其中-t选项让docker分配一个伪终端,-i让容器的标准输入保持打开

启动已终止容器

docker start来启动一个已经停止的容器

后台运行容器

docker run -d来实现,如

  1. $ docker run -d --name test registry.aliyuncs.com/acs-sample/centos /bin/sh -c "while true; do echo hello world; sleep 1; done"

docker ps来查看启动容器信息

  1. [root@iZ23g3sxtunZ ~]# docker ps
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  3. f23f49f7269c registry.aliyuncs.com/acs-sample/centos "/bin/sh -c 'while t 3 seconds ago Up 2 seconds test

docker logs来查看容器输出信息

  1. [root@iZ23g3sxtunZ ~]# docker logs test
  2. hello world
  3. hello world
  4. hello world

终止容器

通过docker stop来终止容器,如

  1. $ docker stop test

docker ps -a可以查看终止状态的容器

  1. [root@iZ23g3sxtunZ ~]# docker ps -a
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  3. f23f49f7269c registry.aliyuncs.com/acs-sample/centos "/bin/sh -c 'while t 4 minutes ago Exited (137) 4 seconds ago test

进入容器

docker attach进入容器当中

导入和导出

docker exportdocker import导出和导入容器

删除容器

docker rm来删除一个终止状态的容器

仓库

登录

登录官方仓库不需要指定地址

  1. $ docker login
  2. $ docker login --username=xxx@aliyun.com registry.aliyuncs.com

搜索镜像

docker search命令查看仓库中的镜像,如查询被收藏10次以上的centos镜像

  1. [root@iZ23g3sxtunZ ~]# docker search -s 10 centos
  2. NAME DESCRIPTION STARS OFFICIAL AUTOMATED
  3. centos The official build of CentOS. 1947 [OK]
  4. jdeathe/centos-ssh CentOS-6 6.7 x86_64 / SCL/EPEL/IUS Repos /... 15 [OK]
  5. jdeathe/centos-ssh-apache-php CentOS-6 6.7 x86_64 / Apache / PHP / PHP M... 13 [OK]

下载和上传镜像

docker pulldocker push命令来下载和推送镜像,如

  1. $ docker pull registry.aliyuncs.com/xqh/centos6-sshd
  2. $ docker push registry.aliyuncs.com/xqh/centos6-sshd

私有仓库

指用户搭建一个本地仓库供私人使用

Docker基础入门实践的更多相关文章

  1. 微服务 + Docker + Kubernetes 入门实践 目录

    微服务 + Docker + Kubernetes 入门实践: 微服务概念 微服务的一些基本概念 环境准备 Ubuntu & Docker 本文主要讲解在 Ubuntu 上安装和配置 Dock ...

  2. 小白学 Python 爬虫(4):前置准备(三)Docker基础入门

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  3. Docker基础入门

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  4. Docker基础入门及示例

    Docker近几年的发展可谓一日千里,特别从是2013年随着一个基于LXC的高级容器引擎开源,到现在,其在linux和windows上都有了很好的支持,并且已经有很多公司将docker用于实际的生产环 ...

  5. Docker系列03—Docker 基础入门

    本文收录在容器技术学习系列文章总目录 1.概念介绍 1.1 容器 1.1.1 介绍 容纳其它物品的工具,可以部分或完全封闭,被用于容纳.储存.运输物品.物体可以被放置在容器中,而容器则可以保护内容物. ...

  6. docker基础入门理解

    本文简单的介绍了一下docker的一些优点,以及使用方法 1. 理解docker 1.1 docker是什么? 1.2 为什么要使用Docker? 2. docker安装 3. docker-容器,镜 ...

  7. docker基础入门之二

    一.docker文件系统: linuxFS包括boot file system 和 root file system boot file system (bootfs),包含bootloader和ke ...

  8. 容器技术之Docker基础入门

    前文我们了解了下LXC的基础用法以及图形管理工具LXC WEB Panel的简单使用,有兴趣的朋友可以参考https://www.cnblogs.com/qiuhom-1874/p/12904188. ...

  9. Docker系列01—Docker 基础入门

    一.初识Docker和容器 1.1 什么是docker 容纳其他物品的工具,可以部分或完全封闭,被用于容纳.存储.运输物品.物体可以被放置在容器中,而容器则可以保护内容物. 容器? 容器就是在隔离的环 ...

随机推荐

  1. int 与 string::length()

    今天在代码中遇到这样的问题 ; while (nStart < strTemp.length()) { ... } 感觉自己写的逻辑没有错误,但是,代码执行结果就是不对,结果单步调试到该处发现, ...

  2. codeblocks如何watch指针

    如果这个指针是指向一个一维数组,那么在watch窗口中右击并选择Dereference,会看到数组的第一个元素 如果这个指针是指向一个struct,那么在watch窗口中右击并选择Dereferenc ...

  3. iOS开发常见错误(转)

    //大全 //读取数据库数据 -(void)movethesqlitefile{ NSString *sourcepath=[[NSBundle mainBundle]pathForResource: ...

  4. 谁是云的王者?OpenStack与VMware优劣对比

    [编者按]在云计算生态系统中,有两种类型的用户需要使用云计算资源:传统型(Traditional IT applications)和在互联网大潮下逐渐崛起云计算应用型(Cloud-aware appl ...

  5. web开发之web 验证码--- webqq 机器人

    一步一步来做WebQQ机器人-(一)(验证码) http://www.cnblogs.com/lianmin/p/4231340.html http://www.cnblogs.com/liulun/ ...

  6. Codeforces Round #398 (Div. 2) BCD

    B:The Queue 题目大意:你要去办签证,那里上班时间是[s,t), 你知道那一天有n个人会来办签证,他们分别是在时间点ai来的.每个人办业务要花相同的时间x,问你什么时候来 排队等待的时间最少 ...

  7. Mysql事务-隔离级别

    MYSQL事务-隔离级别 事务是什么? 事务简言之就是一组SQL执行要么全部成功,要么全部失败.MYSQL的事务在存储引擎层实现. 事务都有ACID特性: 原子性(Atomicity):一个事务必须被 ...

  8. (翻译) TFS源码控制的未来 (TFSVC vs. Git)

    博主: 翻译自微软Visual Studio ALM产品组老大Brian Harry 的博客文章 The future of Team Foundation Server Version contro ...

  9. Android无线测试之—UiAutomator UiSelector API介绍之八

    对象搜索—特殊属性.节点与资源ID 一.特殊属性定位对象相关API 返回值 API 描述 UiSelector checkableboolean val) 是否可选择,一般开关组件上具有checkab ...

  10. Permutation Descent Counts(递推)

    1968: Permutation Descent Counts Submit Page   Summary   Time Limit: 1 Sec     Memory Limit: 128 Mb  ...