这一篇讲docker的基本操作。

请自行安装docker到自己的电脑上。

镜像的获取

要获取镜像,最简单的当然是从仓库去获取,docker的官方网站很不好练,其他的可选项有docker中国官网,阿里镜像源等。

比如搜索一下ubuntu的镜像

$ sudo docker search ubuntu
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian-based Linux operating sys… 9395 [OK]
dorowu/ubuntu-desktop-lxde-vnc Docker image to provide HTML5 VNC interface … 289 [OK]
rastasheep/ubuntu-sshd Dockerized SSH service, built on top of offi… 211 [OK]
consol/ubuntu-xfce-vnc Ubuntu container with "headless" VNC session… 169 [OK]

docker search这个命令是从远程仓库里面搜索包含关键字 ubuntu 的镜像。

结果中的NAME就是镜像的名字,DESCRIPTION是简单介绍,STARS是点赞的数量,OFFICIAL表明是否官方发布。

好了,接下来下载镜像

$ sudo docker pull ubuntu
Using default tag: latest
latest: Pulling from ubuntu
012a7829fd3f: Pull complete
41158247dd50: Pull complete
916b974d99af: Pull complete
a3ed95caeb02: Pull complete
4690e5728418: Pull complete
a2053833ec7f: Pull complete
1b700a1dac9a: Pull complete
77a6d79569f7: Waiting
9ed1cec5982d: Download complete
38b435f68399: Download complete

这里我们拉取consol/ubuntu-xfce-vnc这个镜像,这个名字就是刚才search搜索出来的。pull 这个命令有没有非常熟悉?

使用命令查看镜像

$ sudo docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 94e814e2efa8 5 weeks ago 88.9MB

你会看到类似的界面,这就是所有你本地的镜像。

创建容器

接下来就开始创建容器吧,仅仅一个镜像是没什么用的,还记得之前说的,镜像只是一个只读文件吗?

$ sudo docker run -it -name test ubuntu /bin/bash
root@9bd0ee41adba:/#

这个命令用于创建容器

docker run 是创建容器的命令,-it是创建交互的通道,就是第二行显示的,可以对容器里面的bash进行操作,/bin/bash 是启动容器之后,容器运行的命令,命令运行完,容器就会退出,但bash是一直在运行的,所以除非显式关闭,容器,不然这个容器是不会自己退出的。

当然,你也可以试试这个

$ sudo docker run -it ubuntu echo "hello word"
hello word

这个就只打印一个输出,容器就退出了。

查看运行中的容器

$ sudo docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8f413e6bf249 ubuntu "/bin/bash" 57 seconds ago Up 54 seconds priceless_bell

这个就是刚才我们创建的容器了。

退出后的容器可以用这个命令查看

$ sudo docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8f413e6bf249 ubuntu "/bin/bash" 21 minutes ago Exited (0) 15 seconds ago priceless_bell

后记

至此,已经算是会用docker了,后续如果要继续钻研,那就老老要实实买本书去深入看看了。

docker 入门 (二)基本操作的更多相关文章

  1. docker入门(二)容器与镜像的理解

    10张图带你深入理解Docker容器和镜像 申明:此篇文章是转载的(原文地址http://dockone.io/article/783),今天意外发现已经有人转载了(复制了),希望大家关注原创 原本打 ...

  2. docker入门(二)容器与镜像的关系

    [编者的话]本文用图文并茂的方式介绍了容器.镜像的区别和Docker每个命令后面的技术细节,能够很好的帮助读者深入理解Docker. 这篇文章希望能够帮助读者深入理解Docker的命令,还有容器(co ...

  3. Docker入门二

    容器管理 1.docker create创建一个容器,但容器并没启动,就和我们创建虚拟机一样,创建了虚拟机后没启动 [root@centos-02 ~]# docker create -it cent ...

  4. 【实战】Docker入门实践二:Docker服务基本操作 和 测试Hello World

    操作环境 操作系统:CentOS7.2 内存:1GB CPU:2核 Docker服务常用命令 docker服务操作命令如下 service docker start #启动服务 service doc ...

  5. Docker入门教程(二)命令

    Docker入门教程(二)命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第二篇,介绍了Docker的基本命令以及命令的用法和功能. 在Docker ...

  6. 【转载】大白话Docker入门(二)

    原文:https://yq.aliyun.com/articles/63517?spm=a2c4e.11153940.blogcont63035.15.12011c3fddklk0 上篇的大白话Doc ...

  7. 二、docker入门

    docker入门 使用场景: 面向产品.面向开发.面向测试.面向运维.面向自动化.面向微服务.面向大规模的分布式架构(微信红包) 虚拟化解决方案: 商业解决方案: VMware vSphere,VMw ...

  8. Docker入门(二):安装/卸载

    这个<Docker入门系列>文档,是根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指 ...

  9. 【实战】Docker 入门实战一:ubuntu 和 centos 安装Docker

    Docker是什么 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源.Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布 ...

  10. 【Docker入门】

    目录 Linux容器 Docker的优势 Docker三大概念 安装使用Docker 补充知识 [Docker入门] 发布文章 "qq_41964425" @ *** 所谓Dock ...

随机推荐

  1. Android解析ClassLoader(一)Java中的ClassLoader

    Android解析ClassLoader(一)Java中的ClassLoader

  2. js只对等号左边的进行变量提升

    ### 只对等号左边的进行变量提升 > =:赋值,左边是变量,右边都应该是值 ```javascript //之前 i%2 === 0?item.className = 'c1':item.cl ...

  3. 【MyBatis】MyBatis实现CRUD操作

    1.实现基本CRUD功能 使用MyBatis对数据完整的操作,也就是CRUD功能的实现.根据之前的内容,要想实现CRUD,只需要进行映射文件的配置. 范例:修改EmpMapper.xml文件,实现CR ...

  4. 未能从程序集 C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Data.Entity.Build.Tasks.dll 加载任务“EntityClean”

    问题: 未能从程序集 C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Data.Entity.Build.Tasks.dll 加载任务“Entity ...

  5. 4.GlusterFS 常见故障处理

    一般硬盘也要备用几块,因为随着发展,可能这些型号的硬盘不好买到了,一般的事故不会在开始一两年出,在硬件老化的时候出故障的频率高. 4.1 硬盘故障 如果底层做了 RAID 配置,有硬件故障,直接更换硬 ...

  6. Oracle手工修改JOB属性

    以下由sqlplus 来执行,具体参照一下相关的文档VARIABLE jobno number;BEGINDBMS_JOB.SUBMIT(:jobno,’p_test;’SYSDATE,’SYSDAT ...

  7. scala当中的特质trait

    1.将trait作为接口使用 Scala中的trait是一种特殊的概念: 首先先将trait作为接口使用,此时的trait就与Java中的接口 (interface)非常类似: 在trait中可以定义 ...

  8. Io性能分析

    一.iostat使用说明 1.命令使用方法 使用ixstat –x 1 可以每隔1秒钟采集所有设备的io信息.其中的1类似于使用“vmstat  1”后面的1. 2.命令格式说明 ―――――――――― ...

  9. 翻译-QPKG开发工具快速开始指南

    QPKG开发工具快速开始指南 指导你编译你自己的QPKG软件包 目录 什么是QDK 下载QDK 安装QDK 编译你自己的QPKG软件包 搭建QPKG编译环境 配置QPKG 定制QPKG程序 向QPKG ...

  10. UVa 12661 - Funny Car Racing(Dijkstra)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...