原文地址

基本概念

Docker三个基本概念

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

镜像

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

容器

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

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

仓库

集中存放镜像文件的地方

Docker安装

CentOS安装Docker

CentOS6

$ yum install epel-release
$ yum -y remove docker
$ yum install docker-io

CentOS7

$ yum install docker

启动

$ service docker start

随系统自启动

$ chkconfig docker on

帮助

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

镜像

获取镜像

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

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

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

查看镜像

$ docker images

出现如下信息

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

创建镜像

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

修改镜像

通过docker commit来实现

步骤:

1.启动容器

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

2.安装wget,成功exit退出

$ yum install wget

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

$ docker commit -m 'add wget' -a 'by xqh' 1ca39db81ee1 registry.aliyuncs.com/acs-sample/centos:2```

4.查看镜像,tag=2的包含wget的镜像已经生成

    REPOSITORY                                TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
registry.aliyuncs.com/acs-sample/centos 2 1ca39db81ee1 57 seconds ago 255.7 MB **修改Tag**

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

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

上传镜像

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

导出和导入

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

删除镜像

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

容器

新建并启动

新建并启动docker run,如

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

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

启动已终止容器

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

后台运行容器

docker run -d来实现,如

$ 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来查看启动容器信息

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

docker logs来查看容器输出信息

[root@iZ23g3sxtunZ ~]# docker logs test
hello world
hello world
hello world

终止容器

通过docker stop来终止容器,如

$ docker stop test

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

[root@iZ23g3sxtunZ ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
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来删除一个终止状态的容器

仓库

登录

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

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

搜索镜像

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

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

下载和上传镜像

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

$ docker pull registry.aliyuncs.com/xqh/centos6-sshd
$ 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. Atitit.wrmi web rmi框架新特性

    Atitit.wrmi web rmi框架新特性 1. V1d  新特性1 1.1. 增加了精确参数1 1.2. 增加了req参数,命名参数模式..1 1.3. 增加了globale  传递隐含参数r ...

  2. 转:SQL2008 UNPIVOT 列转行示例

    CREATE TABLE pvt (VendorID int, Emp1 int, Emp2 int, Emp3 int, Emp4 int, Emp5 int); GO INSERT INTO pv ...

  3. ZooKeeper_基础知识学习

    ZooKeeper是Hadoop的开源子项目(Google Chubby的开源实现),它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护.命名服务.分布式同步.组服务等. Zookee ...

  4. Linux操作系统下/etc/hosts文件配置方法

    1.关于/etc/host,主机名和IP配置文件 Hosts - The static table lookup for host name(主机名查询静态表) hosts文件是Linux系统中一个负 ...

  5. css之常用属性

    背景属性: background-attachment 设置背景图像是否固定或者随着页面的其余部分滚动 值: scroll 默认值.背景图像会随着页面其余部分的滚动而移动. fixed 当页面的其余部 ...

  6. uva753 A Plug for UNIX 网络流最大流

    C - A Plug for UNIX    You are in charge of setting up the press room for the inaugural meeting of t ...

  7. fzu 2250 不可能弹幕结界 分析+模拟,考察思维严谨。

    Problem 2250 不可能弹幕结界 Accept: 5    Submit: 13Time Limit: 1000 mSec    Memory Limit : 65536 KB Problem ...

  8. important——》sql server 2000安装图解

    MS Sql Server 2000包含两个部分:服务器组件和客户端工具,其中服务器组建是以Windows服务的方式运行的,有四种服务分别是:MSSqlServer.Distributed Trans ...

  9. Spring MVC文本框

    以下示例显示如何使用Spring Web MVC框架在表单中使用文本框.首先使用Eclipse IDE来创建一个Web工程,按照以下步骤使用Spring Web Framework开发基于动态表单的W ...

  10. python3----练习题(三级菜单)

    三级菜单程序. 运行程序输出第一级菜单. 选择一级菜单某项,输出二级菜单,同理输出三级菜单. 退出时返回上一级菜单 menu = { '北京市': { '东城区': { 'aa', 'bb', }, ...