转载

教你怎么半天搞定Docker

首先,不要把docker想的那么高大,它不就是先做个镜像,然后通过docker像虚拟机一样跑起来嘛...docker其实在真实业务场景中还是非常有局限性的。Dockerfile脚本也没那么好写,有些应用也没有那么好安装。

教你怎么半天搞定Docker

废话不多说,教你半天搞定docker!

自己去下载相应版本,不建议使用yum,提倡版本一致性。

docker-engine-1.7.1-1.el6.x86_64.rpm

epel-release-6-8.noarch.rpm

rpm -ivh epel-release-6-8.noarch.rpm

rpm -ivh docker-engine-1.7.1-1.el6.x86_64.rpm

启动docker

service docker start

搜索公开容器镜像

docker search centos6.6

支持模糊搜索,但不要想着公开的容器有多好,适合公司业务的还是需要自己搭建。

NAME                                  DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
liangtong/centos6.6-httpd 2
incu6us/centos6.6-with-nginx Wav server for FreeCall 0 [OK]
eliezio/centos6.6-devtoolset2-gtest Docker image based on Centos 6.6 suitable ... 0 [OK]
chrisgeorge/centos6.6-py2.6 CentOS 6.6 with Python 2.6 0 [OK]
leonion/centos6.6 centos6.6 0
heilee/centos6.6 0
karthi12345/centos6.6 0
kalramain/centos6.6-mysql55 mysql5.5 installed on centos6.6 0

加载镜像容器

docker pull chrisgeorge/centos6.6-py2.6<NAME>

试运行

docker run -i -t chrisgeorge/centos6.6-py2.6 /bin/bash

这样就交互登录到你预先设计好的容器里面去了

安装应用

yum install openssh-server

需要修改/etc/ssh/sshd_config文件中内容

PermitRootLogin yes

UsePAM no

ssh-keygen -q -N "" -t dsa -f /etc/ssh/ssh_host_dsa_key

ssh-keygen -q -N "" -t rsa -f /etc/ssh/ssh_host_rsa_key

mkdir /var/run/sshd

passwd 登录密码

/etc/init.d/sshd start

更新镜像

docker commit ID <name>

删除镜像

docker rmi <neme>

docker rmi -f

启动

docker run -d -p 22 -p 8022:8000 chrisgeorge/centos6.6-py2.6 /usr/sbin/sshd -D

将容器8000端口映射到docker服务器8022端口,将容器22端口随机映射端口

备份镜像

docker save chrisgeorge/centos6.6-py2.6 >/root/docker-pmd.tar

还原镜像

docker load < /root/docker-pmd.tar

想跑起来镜像,就必须每台机子装有docker。

Dockerfile

脚本:/home/docker/Dockerfile

FROM chrisgeorge/centos6.6-py2.6 #继承的父容器

MAINTAINER wonter #作者

RUN yum install nginx #在新的容器里安装nginx

RUN echo "root:root" | chpasswd #设置密码

EXPOSE 22 #设置端口

CMD /etc/init.d/nginx start #启动服务

docker build -t wonter .

#删除docker历史容器

docker ps -a -q | xargs docker rm

原文  http://dockone.io/article/1634
正文到此结束
Loading...