文档章节

Docker的第一次亲密接触

蛮大人
 蛮大人
发布于 2016/11/09 22:01
字数 960
阅读 505
收藏 2

Docker的第一次亲密接触

[TOC]

好奇宝宝三千问

  • 什么是docker,为什么要使用docker
  • Docker和Vagrant的区别
  • 云计算和Docker的关联
  • 趋势:我们为什么要学习储备Docker知识

入手:看官方文档

为什么是docker-for-mac

最好的起步工具: Docker for Mac [^mac下使用docker-for-mac代替docker-toolbox],当然也有docker-for-windows,windows用户看这里

看看我的第一次Docker之旅吧

看到nginx运行起来的一刹那,被震撼了:传统运维的那些繁琐的准备环境、安装、配置、调试才可能跑起来一个勉强能用的Web server,有了docker,只需要一条命令。不学习,要被淘汰啊!

Last login: Thu Nov  3 10:34:08 on ttys000
ChinaDreams:~ kangcunhua$ docer info
-bash: docer: command not found
ChinaDreams:~ kangcunhua$ docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 1.12.1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 0
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: null host bridge overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 4.4.20-moby
Operating System: Alpine Linux v3.4
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.953 GiB
Name: moby
ID: QEBV:OQVX:UCAL:JSC6:L3HD:JR2F:3573:QNQO:OUQM:XX2E:2WFC:D6AS
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 16
 Goroutines: 27
 System Time: 2016-11-03T14:52:53.397995674Z
 EventsListeners: 1
No Proxy: *.local, 169.254/16
Registry: https://index.docker.io/v1/
Insecure Registries:
 127.0.0.0/8
ChinaDreams:~ kangcunhua$ docker --version
Docker version 1.12.1, build 6f9534c
ChinaDreams:~ kangcunhua$ docker-compose --version
docker-compose version 1.8.0, build f3628c7
ChinaDreams:~ kangcunhua$ docker-machine --version
docker-machine version 0.8.1, build 41b3b25
ChinaDreams:~ kangcunhua$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
ChinaDreams:~ kangcunhua$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c04b14da8d14: Pull complete 
Digest: sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker Hub account:
 https://hub.docker.com

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/

ChinaDreams:~ kangcunhua$ docker run -d -p 80:80 --name webserver nginx
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
43c265008fae: Pull complete 
e4c030a565b1: Pull complete 
685b7631c1ce: Pull complete 
Digest: sha256:dedbce721065b2bcfae35d2b0690857bb6c3b4b7dd48bfe7fc7b53693731beff
Status: Downloaded newer image for nginx:latest
30a5b7c29d54c91e0107ba305601dc019bd2dab4251dd250b37d76c41fe4062f
ChinaDreams:~ kangcunhua$ 

继续,第二天继续学习

ChinaDreams:~ kangcunhua$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
ChinaDreams:~ kangcunhua$ docker run -d -p 80:80 --name webserver nginx
docker: Error response from daemon: Conflict. The name "/webserver" is already in use by container 30a5b7c29d54c91e0107ba305601dc019bd2dab4251dd250b37d76c41fe4062f. You have to remove (or rename) that container to be able to reuse that name..
See 'docker run --help'.
ChinaDreams:~ kangcunhua$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
ChinaDreams:~ kangcunhua$ docker stop webserver
webserver
ChinaDreams:~ kangcunhua$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
ChinaDreams:~ kangcunhua$ docker start webserver
webserver
ChinaDreams:~ kangcunhua$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                         NAMES
30a5b7c29d54        nginx               "nginx -g 'daemon off"   16 hours ago        Up 4 seconds        0.0.0.0:80->80/tcp, 443/tcp   webserver
ChinaDreams:~ kangcunhua$ docker stop webserver
webserver
ChinaDreams:~ kangcunhua$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
ChinaDreams:~ kangcunhua$ docker rm -f webserver
webserver
ChinaDreams:~ kangcunhua$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
ChinaDreams:~ kangcunhua$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              e43d811ce2f4        13 days ago         181.5 MB
hello-world         latest              c54a2cc56cbb        4 months ago        1.848 kB
ChinaDreams:~ kangcunhua$ 

[^mac下使用docker-for-mac代替docker-toolbox]: 为什么使用Docker for Mac:启动时不需要再使用dokcer-machine设定启动的默认的环境,省去了使用virtualbox的过程;享受和在linux下使用docker一样的体验. 总之,新工具更方便!mac下启动docker的工具发展:最开始使用boot2docker,,再到Docker Toolbox,最近新出的 Docker for Mac ;更多信息移步这里:mac下使用docker-for-mac代替docker-toolbox

© 著作权归作者所有

共有 人打赏支持
蛮大人

蛮大人

粉丝 33
博文 24
码字总数 47360
作品 0
渝北
运维
私信 提问
PostgreSQL + PostGIS 时态分析

标签 PostgreSQL , 轨迹 , 时态分析 背景 假设我们有一些物体的轨迹数据(经纬度、measure(通常存为epoch时间戳)),比如车辆、人、传感器等。 给定一个物体在某个时间范围的轨迹数据,查找有...

德哥
07/28
0
0
Docker 初次尝试

第一次接触 Docker 当然是先安装体验一把先 。 首先是系统环境配置 操作系统CentOS 7.2 64位 CPU1核 内存1GB 系统盘20GB(本地磁盘) 数据盘20GB(本地磁盘) 首先 docker 需要的Linux内核版本比...

forwy
2016/09/27
18
0
猥琐发育!别浪!

写在开头 写在开头,去年也就是2016年总结时给自己一句话:专注一件事 --- 前后端打通。 审视2017 2017伊始给自己定了个很简单的年度目标--前段后打通,但马上2017将过,审视这个目标发现似乎...

米阳MeYoung
2017/12/29
0
1
Linux环境安装docker

第一次接触docker,完全不知道怎么安装,又不想用物理机来实验(主要是怕出什么问题= =),所以就在虚拟机的Ubuntu系统中尝试安装。 各种百度,Google寻找Docker的安装教程,最终找到了正常的...

卫莨
2017/10/31
0
0
秒杀多线程第一篇 多线程笔试面试题汇总

系列前言 本系列是本人参加微软亚洲研究院,腾讯研究院,迅雷面试时整理的,另外也加入一些其它IT公司如百度,阿里巴巴的笔试面试题目,因此具有很强的针对性。系列中不但会详细讲解多线程同...

彭博
2012/04/12
441
0

没有更多内容

加载失败,请刷新页面

加载更多

小白带你认识netty(三)之NioEventLoop的线程(或者reactor线程)启动(一)

在第一章中,我们看关于NioEventLoopGroup的初始化,我们知道了NioEventLoopGroup对象中有一组EventLoop数组,并且数组中的每个EventLoop对象都对应一个线程FastThreadLocalThread,那么这个...

天空小小
今天
3
0
PHP动态扩展Redis模块

查看已有模块 [root@test-a ~]# /usr/local/php/bin/php -m[PHP Modules]bz2Core...zlib[Zend Modules] 下载包,解压,生成configure文件 [root@test-a ~]# cd /usr/local/src/[ro......

野雪球
今天
4
0
在Ignite中使用线性回归算法

在本系列前面的文章中,简单介绍了一下Ignite的机器学习网格,下面会趁热打铁,结合一些示例,深入介绍Ignite支持的一些机器学习算法。 如果要找合适的数据集,会发现可用的有很多,但是对于...

李玉珏
今天
5
0
Mybatis应用学习——简单使用示例

1. 传统JDBC程序中存在的问题 1. 一个简单的JDBC程序示例: public class JDBCDemo {public static void main(String[] args) {Connection con=null;PreparedStatement statemen...

江左煤郎
今天
4
0
使用JavaScript编写iOS应用业务逻辑

JSAUIKitCocoa使你可以使用JavaScript编写对性能要求不高但可能变动性很大的iOS应用的业务逻辑部分,View组件、需要多线程支持的Model等则直接使用原生对象。 编写方式与React Native相似,但...

neal01
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部