zoukankan      html  css  js  c++  java
  • 在腾讯云服务器上体验Docker

    版权声明:本文由姚俊刚原创文章,转载请注明出处: 
    文章原文链接:https://www.qcloud.com/community/article/85

    来源:腾云阁 https://www.qcloud.com/community

    腾讯云的 ubuntu 服务器上安装和运行 Docker

    1. 添加Docker repository key

    sh -c "wget -qO- https://get.docker.io/gpg | apt-key add -"

    2. 添加Docker repository,并安装Docker

    sh -c "echo deb http://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
    apt-get update
    apt-get install lxc-docker
    

    3. 检查Docker是否已安装成功

    docker version

    基本使用

    1.安装 ubuntu 镜像

    docker pull ubuntu
    开始下载 ubuntu 镜像, 大概需要10分钟左右

    Pulling repository ubuntu
    9cbaf023786c: Pulling dependent layers
    a9561eb1b190: Pulling dependent layers
    195eb90b5349: Pulling dependent layers
    2185fd50e2ca: Pulling dependent layers
    c5881f11ded9: Pulling dependent layers
    463ff6be4238: Pulling dependent layers
    3db9c44f4520: Pulling dependent layers
    511136ea3c5a: Download complete
    500cae81e00f: Downloading [=========================================>         ] 58.63 MB/70.36 MB 1m6s
    

    查看一下当前的镜像列表

    docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
    ubuntu              14.10               2185fd50e2ca        2 days ago          237.2 MB
    ubuntu              utopic              2185fd50e2ca        2 days ago          237.2 MB
    ubuntu              14.04               9cbaf023786c        2 days ago          192.8 MB
    ubuntu              14.04.1             9cbaf023786c        2 days ago          192.8 MB
    ubuntu              trusty              9cbaf023786c        2 days ago          192.8 MB
    ubuntu              latest              9cbaf023786c        2 days ago          192.8 MB
    ubuntu              12.04.5             a9561eb1b190        2 days ago          120.2 MB
    ubuntu              precise             a9561eb1b190        2 days ago          120.2 MB
    ubuntu              12.04               a9561eb1b190        2 days ago          120.2 MB
    ubuntu              12.10               c5881f11ded9        3 months ago        172.2 MB
    ubuntu              quantal             c5881f11ded9        3 months ago        172.2 MB
    ubuntu              13.04               463ff6be4238        3 months ago        169.4 MB
    ubuntu              raring              463ff6be4238        3 months ago        169.4 MB
    ubuntu              saucy               195eb90b5349        3 months ago        184.7 MB
    ubuntu              13.10               195eb90b5349        3 months ago        184.7 MB
    ubuntu              10.04               3db9c44f4520        5 months ago        183 MB
    ubuntu              lucid               3db9c44f4520        5 months ago        183 MB
    

    执行一个命令

    docker run ubuntu:12.10 ls -lh /
    total 68K
    drwxr-xr-x   2 root root 4.0K Oct 16  2012 bin
    drwxr-xr-x   2 root root 4.0K Oct  9  2012 boot
    drwxr-xr-x   4 root root  340 Oct 16 15:51 dev
    drwxr-xr-x  44 root root 4.0K Oct 16 15:51 etc
    drwxr-xr-x   2 root root 4.0K Oct  9  2012 home
    drwxr-xr-x  11 root root 4.0K Oct 16  2012 lib
    drwxr-xr-x   2 root root 4.0K Oct 16  2012 lib64
    drwxr-xr-x   2 root root 4.0K Oct 16  2012 media
    drwxr-xr-x   2 root root 4.0K Oct  9  2012 mnt
    drwxr-xr-x   2 root root 4.0K Oct 16  2012 opt
    dr-xr-xr-x 128 root root    0 Oct 16 15:51 proc
    drwx------   2 root root 4.0K Oct 16  2012 root
    drwxr-xr-x   5 root root 4.0K Oct 16  2012 run
    drwxr-xr-x   2 root root 4.0K Jun 18 21:54 sbin
    drwxr-xr-x   2 root root 4.0K Jun 11  2012 selinux
    drwxr-xr-x   2 root root 4.0K Oct 16  2012 srv
    dr-xr-xr-x  13 root root    0 Oct 16 15:51 sys
    drwxrwxrwt   2 root root 4.0K Oct 16  2012 tmp
    drwxr-xr-x  11 root root 4.0K Oct 16  2012 usr
    drwxr-xr-x  14 root root 4.0K Oct 16  2012 var
    

    2.登录到 docker 里面去

    docker run -i -t ubuntu:12.10 /bin/bash
    root@bb55c85e1b34:/# uname -a
    Linux bb55c85e1b34 3.5.0-52-generic #78~precise1-Ubuntu SMP Wed Jun 11 17:14:53 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
    
    root@bb55c85e1b34:/# ip addr
    25: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
        inet6 ::1/128 scope host
           valid_lft forever preferred_lft forever
    26: eth0: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 12:6d:9c:14:76:82 brd ff:ff:ff:ff:ff:ff
        inet 172.17.0.9/16 scope global eth0
        inet6 fe80::106d:9cff:fe14:7682/64 scope link
           valid_lft forever preferred_lft forever
    

    3.安装 openssh-server

    ubuntu 默认的源在腾讯云主机上无法访问, 所以要把源改成腾讯云的源, 登录到 docker 里面去发现里面连 vi 编辑器都没有, 没办法, 只能把主机的文件映射到 docker 里面去, 然后 cp

    下面的命令把主机的 /etc 映射到 docker 的/opt/etc 目录, 并且运行 bash

    docker run -i -t -v /etc:/opt/etc ubuntu:12.10 /bin/bash
    进入 docker 后把主机的 sources.list 文件 copy 过去, 在 docker 里面执行下面的命令

    cp /etc/apt/sources.list /etc/apt/sources.list.bak
    cp /opt/etc/apt/sources.list /etc/apt/sources.list
    

    然后再执行 apt 命令安装就没有问题了

    apt-get install -y vim openssh-server
    设置个 ROOT 密码

    root@fc9fe30c21bc:/# passwd
    Enter new UNIX password:
    Retype new UNIX password:
    passwd: password updated successfully
    

    查看下 docker 的ip

    root@fc9fe30c21bc:/# ip addr
    43: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
        inet6 ::1/128 scope host
           valid_lft forever preferred_lft forever
    44: eth0: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether e2:b9:5a:f8:d5:a1 brd ff:ff:ff:ff:ff:ff
        inet 172.17.0.15/16 scope global eth0
        inet6 fe80::e0b9:5aff:fef8:d5a1/64 scope link
           valid_lft forever preferred_lft forever
    

    启动 ssh

    root@7e3adf35663f:/# /etc/init.d/ssh restart
    从主机上登录

    ssh root@172.17.0.15
    The authenticity of host '172.17.0.15 (172.17.0.15)' can't be established.
    ECDSA key fingerprint is cf:19:d7:73:02:7e:58:90:08:79:8c:f0:85:2c:a2:9e.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '172.17.0.15' (ECDSA) to the list of known hosts.
    root@172.17.0.15's password:
    Welcome to Ubuntu 12.10 (GNU/Linux 3.5.0-52-generic x86_64)
    
     * Documentation:  https://help.ubuntu.com/
    
    The programs included with the Ubuntu system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.
    
    Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
    applicable law.
    
    root@fc9fe30c21bc:~#
    

    4.保存对docker的修改

    • 查看下 CONTAINER ID

      docker ps
      CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
      fc9fe30c21bc        ubuntu:12.10        "/bin/bash"         11 minutes ago      Up 11 minutes                           evil_turing
      
    • 保存 上一步的 CONTAINER ID 是 fc9fe30c21bc 但是不用全部输入只要保证不重复就可以了

      docker commit fc9f y109/ubuntu
      e099241dfc1fb31d950b0be4de2fa7a78510022737fe8cc81a913bdd4a244a95
      
    • 确认 镜像列表里面有刚刚保存的镜像

      docker images
      REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
      y109/ubuntu         latest              e099241dfc1f        14 seconds ago      316.2 MB
      ubuntu              14.10               2185fd50e2ca        2 days ago          237.2 MB
      ubuntu              utopic              2185fd50e2ca        2 days ago          237.2 MB
      ubuntu              trusty              9cbaf023786c        2 days ago          192.8 MB
      ubuntu              14.04.1             9cbaf023786c        2 days ago          192.8 MB
      ubuntu              14.04               9cbaf023786c        2 days ago          192.8 MB
      ubuntu              latest              9cbaf023786c        2 days ago          192.8 MB
      ubuntu              12.04               a9561eb1b190        2 days ago          120.2 MB
      ubuntu              12.04.5             a9561eb1b190        2 days ago          120.2 MB
      ubuntu              precise             a9561eb1b190        2 days ago          120.2 MB
      ubuntu              quantal             c5881f11ded9        3 months ago        172.2 MB
      ubuntu              12.10               c5881f11ded9        3 months ago        172.2 MB
      ubuntu              raring              463ff6be4238        3 months ago        169.4 MB
      ubuntu              13.04               463ff6be4238        3 months ago        169.4 MB
      ubuntu              13.10               195eb90b5349        3 months ago        184.7 MB
      ubuntu              saucy               195eb90b5349        3 months ago        184.7 MB
      ubuntu              10.04               3db9c44f4520        5 months ago        183 MB
      ubuntu              lucid               3db9c44f4520        5 months ago        183 MB
      
    • 提交

      docker push y109/ubuntu
      The push refers to a repository [y109/ubuntu] (len: 1)
      Sending image list
      

      首次提交会要求登录

      Please login prior to push:
      Username: y109
      Password:
      Email: y109@qq.com
      Login Succeeded
      The push refers to a repository [y109/ubuntu] (len: 1)
      Sending image list
      Pushing repository y109/ubuntu (1 tags)
      511136ea3c5a: Image already pushed, skipping
      bac448df371d: Image already pushed, skipping
      dfaad36d8984: Image already pushed, skipping
      5796a7edb16b: Image already pushed, skipping
      c5881f11ded9: Image already pushed, skipping
      e099241dfc1f: Pushing [===========>                                       ] 32.94 MB/147.3 MB 1m10s
      e099241dfc1f: Image successfully pushed
      

    Refrence
    http://www.blogjava.net/yongboy/archive/2013/12/12/407498.html
    http://wiki.jzland.com

  • 相关阅读:
    JAVA内存溢出解析(转)
    检查SQL Server 2005的索引密度和碎片信息(转)
    GWT 学习总结
    支付宝techday分享成长、团队、信任
    一位年轻董事长给年轻人的30条忠告
    Oracle 培训材料
    利用JProfiler对应用服务器内存泄漏问题诊断一例(转)
    oracle 笔记
    JProfiler 使用说明
    最疼你的人是谁
  • 原文地址:https://www.cnblogs.com/purpleraintear/p/6024328.html
Copyright © 2011-2022 走看看