服务器之家

专注于服务器技术!
当前位置:首页 > 云和虚拟化 > Docker

Ubuntu14.04安装docker过程笔记

发布时间:2014-11-23 来源:服务器之家

环境

os:ubuntu 14.04
docker 1.1.2

1.安装
注意 ubuntu源里有一个docker.io,是docker的低版本,尽量不要装这个


jim@jim-laptop:~ $ sudo sh -c "echo deb http://mirror.yandex.ru/mirrors/docker/ docker main> /etc/apt/sources.list.d/docker.list"
jim@jim-laptop:~ $ sudo apt-get update
jim@jim-laptop:~ $ sudo apt-get install  lxc-docker
jim@jim-laptop:~ $ docker version
Client version: 1.1.2
Client API version: 1.13
Go version (client): go1.2.1
Git commit (client): d84a070
Server version: 1.1.2
Server API version: 1.13
Go version (server): go1.2.1
Git commit (server): d84a070

2.管理docker容器
2.1.下载ubuntu docker容器


jim@jim-laptop:~ $ sudo docker pull centos
[sudo] password for jim:
Pulling repository centos
463ff6be4238: Download complete
195eb90b5349: Pulling dependent layers
195eb90b5349: Downloading 715.6 kB/1.506 MB 2s
195eb90b5349: Download complete
ba5877dc9bec: Pulling dependent layers
3db9c44f4520: Download complete
...

3.启动docker容器


jim@jim-laptop:~ $ docker run -i -t centos /bin/bash
WARNING: Local (127.0.0.1) DNS resolver found in resolv.conf and containers can't use it. Using default external servers : [8.8.8.8 8.8.4.4]
bash-4.2# uname -a
Linux 55943e0bcd9b 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
bash-4.2#

持续集成一般用docker,找找有没有现成的持续集成docker
docker 1.0已经发布,可以升级一下
docker 中 reboot会重启(systemd的除外)

导出镜像


$ docker save IMAGENAME | bzip2 -9 -c>img.tar.bz2

导入镜像


$ bzip2 -d -c <img.tar.bz2 | docker load


docker中的namespace


pid namespace
net namespace
nmn namespace
uts namespace
ipc namespace
user namespace

cgroups
    cpu限定
        可以把某个cpu制定给docker来使用
        可以设置cpu的使用量
    内存
        限定使用内存,限定内核使用限定
    Blkio
        Net_cls
            把容器发出的tcp包加一个容器特定的class_id
        Net_prio
            把模块网卡设定docker的权重,控制docker使用网络的速度
        device
            限定某个容器可以去读某个device

向hub注册 respository


PUT /v1/repositories/<username>/<repository>

    参数是json格式的串

dockerfile
    用来从某个官方发行版为基础编译一个自己的镜像,里面都是一堆命令,需要注意的是执行这些命令的都是root用户