在腾讯云服务器上体验 Docker

腾讯云的 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

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏搜云库

Docker Hub 仓库使用,及搭建 Docker Registry

目前 Docker 官方维护了一个公共仓库 Docker Hub,其中已经包括了数量超过 15,000 的镜像。大部分需求都可以通过在 Docker Hub 中...

30410
来自专栏散尽浮华

Docker容器学习梳理--容器登陆方法梳理(attach、exec、nsenter)

对于运行在后台的Docker容器,我们运维人员时常是有登陆进去的需求。登陆Docker容器的方式: 1)使用ssh登陆容器。这种方法需要在容器中启动sshd,存...

2226
来自专栏搜云库

Docker Hub 仓库使用,及搭建 Docker Registry

目前 Docker 官方维护了一个公共仓库 Docker Hub,其中已经包括了数量超过 15,000 的镜像。大部分需求都可以通过在 Docker Hub 中...

2595
来自专栏编程坑太多

『中级篇』Docker compose 部署一个复杂的应用(41)

我更新了worker目录下的Dockerfile文件,使用阿里云maven仓库地址覆盖了原来的maven地址。我是先找到docker所在的容器,通过instal...

401
来自专栏纯洁的微笑

Docker(三):Dockerfile 命令详解

上一篇文章Docker(二):Dockerfile 使用介绍介绍了 Dockerfile 的使用,这篇文章我们来继续了解 Dockerfile ,学习 Dock...

3356
来自专栏北京马哥教育

docker容器技术系列三:docker镜像

本系列教程由旺旺知识库授权进行发布 前面基本概念部分我们已经介绍了docker镜像就是一个只读模板,可以从镜像启动一个容器实例。我们也发现,在启动容器的过程中...

3706
来自专栏LuckQI

Docker容器中学习系列十一~一个利器DockerFile指令详解

在我们学习容器中我们往往都会用到DockerFile这个文件,在前两篇的文章中,我们也着重的使用了DockerFile这个文件用来构建我们使用的容器,这样可以用...

793
来自专栏眯眯眼猫头鹰的小树杈

docker指令学习记录

本文为学习整理和参考文章,不具有教程的功能。其次,后面将会陆续更新各种应用的容器化部署的实践,如MySQL容器化,Jenkins容器化,以供读者参考。

623
来自专栏Pythonista

docker构建镜像

Docker 运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker 会从镜像仓库下载该镜像。

803
来自专栏coder修行路

Docker的镜像

镜像是容器的运行基础,容器是镜像运行后台的形态 镜像的概念 镜像是一个包含程序运行必要依赖环境和代码的只读文件,它采用分层的文件系统,将每一次改变以读写层的形式...

2016

扫码关注云+社区