docker[未完待续]

10 篇文章 0 订阅
2 篇文章 0 订阅

安装要求

linux内核要求

uname -a, uname -r
Centos要求kernel版本必须2.6.32-431或更高,也就是Centos 6.5或者更高版本。

device maper

检查device maper是否安装

root@ads ~]# grep device-mapper /proc/devices
253 device-mapper

安装

只支持64位CPU架构的计算机(X86_64, amd64)

linux:
Docker

Windows/OS X:
Boot2Docker

Ubuntu安装实例

前提条件:
Ubuntu 14.04

安装:

wget -qO- https://get.docker.com/ | sh

第一个docker

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
curl -s https://get.docker.io/ubuntu/ | sh
docker pull ubuntu

apt-key命令用于管理Debian Linux系统中的软件包密钥。每个发布的deb包,都是通过密钥认证的,apt-key用来管理密钥。

但是上面还是没下载成功,于是从其他docker镜像地址下了个镜像:

docker pull index.tenxcloud.com/tenxcloud/ubuntu
docker images
docker run -i -t index.tenxcloud.com/tenxcloud/ubuntu /bin/bash
docker run -i -t -d --dns=172.25.0.4 index.tenxcloud.com/tenxcloud/ubuntu /bin/bash

这样一个容器就启动了,进入容器的shell:

root@ba67850c3deb:/#

可以输入exit来退出容器,退出后容器也停止了。可以通过docker ps -a看到容器状态
如下操作,退出后,可以重新启动容器。attach可以让多人同时进入容器,但是任一个人输入exit后,所有人都会退出

root@ba67850c3deb:/# exit
exit
root@dt:~# docker ps -a
CONTAINER ID        IMAGE                                  COMMAND             CREATED             STATUS                     PORTS               NAMES
ba67850c3deb        index.tenxcloud.com/tenxcloud/ubuntu   "/bin/bash"         57 minutes ago      Exited (0) 2 seconds ago                       reverent_babbage
root@dt:~# docker start ba67850c3deb
ba67850c3deb
root@dt:~# docker attach ba67850c3deb
root@ba67850c3deb:/# 

容器

交互式容器 interactive container
守护式容器 daemonized container

进阶

容器启动

  1. 指定镜像启动容器
    docker run -i -t index.tenxcloud.com/tenxcloud/ubuntu /bin/bash
    docker images后可以看到镜像index.tenxcloud.com/tenxcloud/ubuntu,上面命令可以特定运行此镜像
  2. 配置dns服务器
    docker run -i -t -d --dns=172.25.0.4 index.tenxcloud.com/tenxcloud/ubuntu /bin/bash
    指定dns服务器为172.25.0.4,当然,dns服务器可以设定为列表
  3. 删除container
    docker rm ba67850c3deb
  4. 在容器中启动一个新任务
    docker exec -t -i 93b820a4fa46 /bin/bash
    上面命令,相当于在容器中又启动一个/bin/bash的交互式任务。执行后,会弹出bash终端。
    在这个终端上操作,不会影响该容器其他的交互式终端,及时在这里输入exit退出,其他的也不影响。
    这个要支持exec命令,说是只有docker 1.3以后才支持

命令

docker search tutorial 搜索docker镜像
docker version 查看docker版本
service docker status 查看状态
docker images 列出镜像
docker search ubuntu 查找docker hub上公共的可用镜像
docker info docker信息
docker ps -a 查看当前系统中容器的列表
docker run --help docker rm --help 查看某一命令的参数
docker logs ba67850c3deb 可以把这个容器所有的操作都打出来,包括exit以前的等等
docker exec -t -i 93b820a4fa46 /bin/bash 在容器中启动一个新任务
docker load < test.tgz 加载一个本地镜像文件
docker rmi -f 93b820a4fa46 强制删除一个镜像容器

其他注意

非root用户要使用docker,需要将用户添加进docker群组

sudo usermod -a -G docker $USER

If you would like to use Docker as a non-root user, you should now consider
adding your user to the “docker” group with something like:

  sudo usermod -aG docker your-user

问题

dns

宿主机可以ping通baidu
但是docker里只能ping通内网ip

Docker容器资源管理
http://www.open-open.com/lib/view/open1425565035056.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值