docker安装

Docker组件(c/s)

Docker client:Docker的客户端
Docker Server: Docker daemon的主要组成部分,接收用户通过Docker Client发送的请求,并按照相应的路由规则实现路由分发

Docker 镜像: Docker 镜像运行之后变成容器: docker run

Docker Registry: Registry是Docker环境的中央存储仓库。

Git : http://git.oschina.net/

docker build -t registry_rul/namespace/csphere/centos:7.1

安装docker
yum -y install docker
systemctl  start docker.service



从Docker Hub 仓库中下载一个ubuntu:12.04 的镜像

docker pull ubuntu:12:04

相当于

docker pull registry.hub.docker.com/ubuntu:12.04

创建镜像
docker build -t   csphere/centos:7.1    .

帮助docker
docker help run

docker run -d  放在后台
docker run -it 放在前台

常见容器
docker run -d -p 2222:22 --name base csphere/centos:7.1

docker ps 
docker ps -a

docker build -t csphere/php-fpm:5.4 .

docker run -d -p 8080:80 --name website csphere/php-fpm:5.4

查询
[root@localhost php-fpm]# docker ps -a
CONTAINER ID        IMAGE                    COMMAND                  CREATED             STATUS                     PORTS                                   NAMES
b3f111252fb7        csphere/php-fpm:5.4      "/usr/bin/supervisord"   2 minutes ago       Up 2 minutes               22/tcp, 443/tcp, 0.0.0.0:8080->80/tcp   website
fbdadcf8ea30        csphere/centos:7.1       "/usr/bin/supervisord"   2 hours ago         Up 2 hours                 0.0.0.0:2222->22/tcp                    base
170aa8aa81e7        docker.io/ubuntu:12.04   "/bin/bash"              2 hours ago         Exited (130) 2 hours ago                                           pensive_carson
e4d7ffc89923        ubuntu:12.04             "/bin/bash"              2 hours ago         Exited (0) 2 hours ago                                             sharp_noyce

进入到虚拟机
docker exec -it website /bin/bash 



Docker安装

 

Yum  -y install kernel  device-mapper-libs   docker-io  util-linux

 

启动docker

/etc/init.d/docker restart

 

Docker搜索centos镜像

Docker  search  centos

                       

 

下载镜像文件

docker  pull  centos

 

 

 

 

进入一个centos容器,退出后直接关闭了

docker  run --name mydocker -it centos /bin/bash

参数

-i 输入的终端保持打开状态

-t 开一个伪状态tty

--name 起一个名字

 

如果没有centos镜像,会直接pull下来

 

放到后台启动

docker run  -d --name docker1 centos /bin/bash

 

启动一个nginx镜像

# docker run -d --name   mynignx    nginx

 

访问另一个容器空间

1.docker inspect –format “{{.State.Pid}}” mynginx

或者

docker inspect --format "{{.State.Pid}}" 1c760bace837

 

2.nsenter --target  7199 --mount --uts --ipc --net –pid

 

 

 

使用-P(大) 参数,容器中的nginx 80端口随机映射到物理系统的端口,本例是(32768)

 

docker run -d -P mysqlnginx2 nginx

[root@test2 ~]# docker ps -a

CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS                         PORTS                                           NAMES

9d0232d3f900        nginx               "nginx -g 'daemon of   16 seconds ago      Up 15 seconds                  0.0.0.0:32769->80/tcp, 0.0.0.0:32768->443/tcp   mysqlnginx2        

    

 

使用-p(小) 参数,容器中的nginx 80端口映射到物理系统的91端口,本例是(91)

 

docker run -d -p 91:80  --name mysqlnginx3 nginx

 

 

 

 

 

 

数据存储

 

 

 

 

 

 

 

 

指定挂载目录

docker run  –it  --name volume-test1  -h nginx  -v  /data  centos

 

参数

-h  指定主机名

-v  使用数据卷,创建一个/data的数据卷

 

查看卷路径

docker inspect -f {{.Volumes}}  volume-test1

map[/data:/var/lib/docker/volumes/4580993fb2dec28ff463a7ee89a73516cb3a98310e2ce62362790c5ba7933657/_data]

 

 

 

docker run –it name  volume-test1  -h nginx   -v   /data:/opt   centos

 

 

指定本地的目录挂载docker容器的/data目录

run  -it --name centos7.3  -h C1PW011  -v  /data/webserver:/data centos

[root@test2 _data]# docker inspect -f {{.Volumes}} centos7.3

map[/data:/data/webserver]

 

 

 

数据卷容器:引用其他docker中的卷

 

 

docker run -it --name centos7.4 --volumes-from centos7.3 centos

 

 

 

 

 

 

手动创建images镜像

 

[root@test2 ~]# docker commit -m "my nginx" ff6978bdf126 fengjian/my-nignx:v1

f1cecf7ef1d849715d5b2b3bbc53b557fcbaea8f91f38fd5064aba686c46a84f

 

[root@test2 ~]# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

fengjian/my-nignx   v1                  f1cecf7ef1d8        35 seconds ago      721.7 MB

 

启动镜像

docker run -d  -p 10000:80  fengjian/my-nignx:v1 /data/nginx/sbin/nginx

 

 

 

 

Docker资源隔离 LXC  

kernel  namespace

Pid  namespace

Net  namespace

Ipc  namespace

Mnt  类似与chanageroot

Uts  hosntmae

User 

 

 

Docker 资源限制 cgroup          (cpu和 内存限制

 

压力测试工具

yum install stress

 

docker run -it --rm  -c 512 strees:v5.0 --cpu 1

 

posted @ 2016-03-07 15:36  fengjian1585  阅读(249)  评论(0编辑  收藏  举报