[Docker]初次接触

Docker 初次接触

近期看了不少docker介绍性文章,也听了不少公开课,于是今天去官网逛了逛,发现了一个交互式的小教程于是决定跟着学习下。

仅仅是把认为重点的知识记录下来,不是非常系统的学习和笔记。

理论部分

  • Docker 引擎包括了两个部分,一个守护进程作为server端来管理全部的容器。

    一个client。能够远程来控制服务端。

  • Docker有公共的云端仓库 Docker Hub Registry。里面有能够使用的镜像
  • 你能够觉得容器containers就是沙箱box中的一个进程。这个盒子中包括了全部一个进程须要的东西,文件系统。系统库。shell等等,仅仅是默认情况下他们是没有执行的。
  • 我们能够在操纵和改变容器,然后通过命令保存成新的镜像
  • 在须要使用容器id的地方。我们能够仅仅输入前几个字符

操作部分

docker help 能够查看能使用的命令和简单描写叙述

查看版本号
[email protected]:~$ docker version
Docker Emulator version 0.1.3
Emulating:
Client version: 0.5.3
Server version: 0.5.3
Go version: go1.1
从公共云仓库中查找一个镜像
tutorial
[email protected]:~$ docker search tutorial
Found 1 results matching your query (“tutorial”)
NAME                      DESCRIPTION
learn/tutorial            An image for the interactive tutorial
从仓库中拉取一个镜像。注意要写这个镜像的全名
[email protected]:~$ docker pull learn/tutorial
Pulling repository learn/tutorial from https://index.docker.io/v1
Pulling image 8dbd9e392a964056420e5d58ca5cc376ef18e2de93b5cc90e868a1bbc8318c1c (precise) from ubuntu
Pulling image b750fe79269d2ec9a3c593ef05b4332b1d1a02a62b4accb2c21d589ff2f5f2dc (12.10) from ubuntu
Pulling image 27cf784147099545 () from tutorial
启动一个docker而且执行命令
[email protected]:~$ docker run learn/tutorial echo “hello boy”
hello boy

tips:这里是启动了一个容器而且执行了一个命令,当命令执行完的时候容器就停止了。能够通过docker的ps命令查看当前正在执行的容器。

[email protected]:~$ docker ps
ID                  IMAGE               COMMAND               CREATED             STATUS              PORTS
安装一个软件ping
[email protected]:~$ docker run learn/tutorial apt-get install -y ping
Reading package lists…
Building dependency tree…
The following NEW packages will be installed:
  iputils-ping
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 56.1 kB of archives.
After this operation, 143 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu/ precise/main iputils-ping amd64 3:20101006-1ubuntu1 [56.1 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 56.1 kB in 1s (50.3 kB/s)
Selecting previously unselected package iputils-ping.
(Reading database … 7545 files and directories currently installed.)
Unpacking iputils-ping (from …/iputils-ping_3%3a20101006-1ubuntu1_amd64.deb) …
Setting up iputils-ping (3:20101006-1ubuntu1)
查看改变之后的容器,然后保存成learn/ping
[email protected]:~$ docker ps -l
ID                  IMAGE               COMMAND                CREATED             STATUS              PORTS
6982a9948422        ubuntu:12.04        apt-get install ping   1 minute ago        Exit 0
[email protected]:~$ docker commit 6982 learn/ping
effb66b31edb
使用新的镜像ping
google
[email protected]:~$ docker run learn/ping ping www.google.com
PING www.google.com (74.125.239.129) 56(84) bytes of data.
64 bytes from nuq05s02-in-f20.1e100.net (74.125.239.148): icmp_req=1 ttl=55 time=2.23 ms
64 bytes from nuq05s02-in-f20.1e100.net (74.125.239.148): icmp_req=2 ttl=55 time=2.30 ms
64 bytes from nuq05s02-in-f20.1e100.net (74.125.239.148): icmp_req=3 ttl=55 time=2.27 ms
64 bytes from nuq05s02-in-f20.1e100.net (74.125.239.148): icmp_req=4 ttl=55 time=2.30 ms
查看正在执行的容器的状态
[email protected]:~$ docker ps
ID                  IMAGE               COMMAND               CREATED             STATUS              PORTS
efefdc74a1d5        learn/ping:latest   ping www.google.com   37 seconds ago      Up 36 seconds
[email protected]:~$ docker inspect efef
[2013/07/30 01:52:26 GET /v1.3/containers/efef/json
{
  “ID”: “efefdc74a1d5900d7d7a74740e5261c09f5f42b6dae58ded6a1fde1cde7f4ac5”,
  “Created”: “2013-07-30T00:54:12.417119736Z”,
  “Path”: “ping”,
  “Args”: [
      “www.google.com”
  ],
  “Config”: {
      “Hostname”: “efefdc74a1d5”,
      “User”: “”,
      “Memory”: 0,
      “MemorySwap”: 0,
      “CpuShares”: 0,
      “AttachStdin”: false,
      “AttachStdout”: true,
      “AttachStderr”: true,
      “PortSpecs”: null,
      “Tty”: false,
      “OpenStdin”: false,
      “StdinOnce”: false,
      “Env”: null,
      “Cmd”: [
          “ping”,
          “www.google.com”
      ],
      “Dns”: null,
      “Image”: “learn/ping”,
      “Volumes”: null,
      “VolumesFrom”: “”,
      “Entrypoint”: null
  },
  “State”: {
      “Running”: true,
      “Pid”: 22249,
      “ExitCode”: 0,
      “StartedAt”: “2013-07-30T00:54:12.424817715Z”,
      “Ghost”: false
  },
  “Image”: “a1dbb48ce764c6651f5af98b46ed052a5f751233d731b645a6c57f91a4cb7158”,
  “NetworkSettings”: {
      “IPAddress”: “172.16.42.6”,
      “IPPrefixLen”: 24,
      “Gateway”: “172.16.42.1”,
      “Bridge”: “docker0”,
      “PortMapping”: {
          “Tcp”: {},
          “Udp”: {}
      }
  },
  “SysInitPath”: “/usr/bin/docker”,
  “ResolvConfPath”: “/etc/resolv.conf”,
  “Volumes”: {},
  “VolumesRW”: {}
查看本地镜像
[email protected]:~$ docker images
ubuntu                latest              8dbd9e392a96        4 months ago        131.5 MB (virtual 131.5 MB)
learn/tutorial        latest              8dbd9e392a96        2 months ago        131.5 MB (virtual 131.5 MB)
learn/ping            latest              effb66b31edb        10 minutes ago      11.57 MB (virtual 143.1 MB)
把镜像推送到云端
docker inspect efe

tips: 这个是推送到docker的云仓库的,会有你自己的独立命名控件。账号注冊地址

这个十分钟交互式的短教程能够让我们对docker有个感性的认识。最主要的使用和激发兴趣。

本文出自 “orangleliu笔记本”博客,请务必保留此出处http://blog.csdn.net/orangleliu/article/details/38648075

时间: 2024-12-22 17:28:08

[Docker]初次接触的相关文章

c++中类的初次接触

下面是我写的简单的代码,初次接触c++中的类,c++真的是博大精深啊,学习c++的路还很长,加油! 1 /*q1.cpp*/ 2 //一个简单的类极其实例化 3 #include<iostream> 4 using namespace std; 5 6 class Point{ 7 public: 8 //设置坐标 9 void setPoint(int x,int y){ 10 xPos = x; 11 yPos = y; 12 } 13 //打印坐标 14 void printPoint(

初次接触scrapy框架

初次接触这个框架,先订个小目标,抓取QQ首页,然后存入记事本. 安装框架(http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/install.html) 创建一个项目,项目根目录输入 scrapy startproject tutorial 在spiders文件夹下面新建一个qq_spider.py,写入内容如下: import scrapy class DmozSpider(scrapy.Spider): name = "dmoz" a

初次接触JQuery

初次接触JQuery 1. 综述 JQuery,是一个JavaScript库,给JavaScript开发带来了极大的便利.它有以下好处:减少了JavaScript的代码量:分离了JavaScript和HTML,在页面里只需要定义id即可:方便地为网站提供Ajax交互. 2. JQuery代码 2.1 函数调用 $(this).hide(); 对当前HTML元素,调用hide函数,即隐藏他. $("p").hide(); 对所有的<p>元素,调用hide函数,即隐藏他. $(

初次接触modelsim的一些体验

  在网上查找了一些资料来学习,看来看去觉得一篇讲modelsim三种仿真方式的不错,就按着步骤一步步做了,结果可想而知,问题是一个接一个啊,摸索了两天还是有点收获的,且记下. 第一点:操控modelsim的基本方式 1.用户图形界面接口(GUI),在界面也接受命令行输入.(适合菜鸟) 2.DO文件,应该是用TCL脚步语言写的.(升级学习) 第二点:关于在modelsim添加altera仿真库的问题 在网上看到很多关于这方面的资料,但都是比较老的,然后我发现他们想要添加的库基本已经添加在新版 

初次接触CodeSmith

说到开发效率的提高,代码生成器肯定是其中必不可少的重点.说到代码生成器,鼎鼎大名CodeSmith肯定是如雷贯耳. CodeSmith最大的特点是能够自定义模板(通俗的说就是想生成什么样就可以生成什么样子,全部由自己自定义) CodeSmith相关资料CodeSmith官方网站:http://www.codesmithtools.com/CodeSmith5.0.1破解版下载:http://kewlshare.com/dl/0538fcf454d3/CodeSmith.5.0.Professio

动态规划的初次接触,简单分析

一.简单的0,1背包问题 1.题目描述:有n个重量和价值分别为Wi,Vi的物品.从这些物品中挑选出总重量不超过W的物品,求所选方案中价值总和的最大值(注:在0,1背包问题中,每个物品只有一件,可以选择房或者不放). [分析]:对于这样的问题,首先我们可以用最简单容易想到的方法,将所有可能一一例举出来,找到最合适的. 对于函数rec(int i,int j)// 这里的 i 表示的是第几个物品,而 j 表示此时背包的容量. 既然是最朴素,简单的想法,那我们就去想一想当前的这件物品我们是否要把它放入

【资料整理】docker初次安装使用

docker初次安装使用 === 参考资料: Docker 和一个正常的虚拟机有何区别?http://developer.51cto.com/art/201312/421964.htm 全球首部Docker书籍:让你迈出使用Docker的第一步(1) http://cloud.51cto.com/art/201412/461998.htm docker镜像与容器存储结构分析 http://www.csdn123.com/html/topnews201408/94/7494.htm === [[e

javaweb中的乱码问题(初次接触时写)

javaweb中的乱码问题 在初次接触javaweb中就遇到了乱码问题,下面是我遇到这些问题的解决办法 1. 页面乱码(jsp) 1. 在页面最前方加上 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 2. 读取数据时乱码 (servlet) 1. 在request.getParameter("nam

SSIS 初次接触 + 开发记录

第一次接触SSIS,昨天终于把一套流程走通,记一下流水. 1:安装 使用SSIS需要安装插件(VS 和Sql Server都需要另外安装). 自己使用的vs2017开发,官网有专门的 VS2017 安装SSDT的文章,但是自己电脑死活装不上,可能是公司使用了域账户和Symantec杀毒软件的原因. 没有办法,只好重新下载了最新的 VS2019 ,然后在“工具”中使用“获取功能和扩展”安装了SSIS插件,由于自己电脑装不了sql server2017,所以又申请了一台服务器安装Sql Server