docker 使用

这篇文章介绍的很好 http://kb.cnblogs.com/page/536115/

# 安装docker
sudo apt-get install docker.io
# 查看帮助文档
docker
# 查看我们的docker信息
docker info

# 启动docker服务
sudo service  docker start (/etc/init.d/docker start)
# 运行容器
* 安装容器
docker pull ubuntu:14.04
* 运行
docker run -it ubuntu:14.04(sudo docker run -it image_id)

# 更新软件源
apt-get update
sudo apt-get upgrade
* 安装nginx
sudo apt-get install -y nginx

# 退出docker
exit

# 将容器转化为镜像
* 查看commit 帮助文档
sudo docker commit --help
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] (REPOSITORY仓库,TAG版本号 )
* 查看刚刚运行的容器(才知道 container id)
sudo docker ps -a
* 提交镜像
sudo docker commit -m "Added nginx from ubuntu14.04" -a "linzhouzhi" c34cab12e6b9 linzhouzhi/ubuntu-nginx:v1
* 查看提交的镜像
sudo docker images


# 存储镜像
* 登录docker login
* push 镜像到https://hub.docker.com/
sudo docker push linzhouzhi/ubuntu-nginx:v1

# Dockerfile使用

# 挂载docker 目录到本地
sudo docker run -it -v /data/docker_ubuntu14:/home ubuntu:14.04 (/data/docker_ubuntu14 是本地文件目录,/home是docker的文件目录)

# DaoCloud实战 https://www.daocloud.io/

# hadoop 安装实战
* 安装思路
0) 创建一个zookeeper + hadoop 的镜像容器(这个是以后创建hadoop的一个基础版本,然后这样的话可以保证id_rub.pub都一样)
1) 将hadoop zookeeper 的数据文件挂载到宿主主机上
2) 把~/.ssh/authorized_keys 拷贝到各个节点上,这样就可以实现免登陆
3) 把每个节点形成镜像文件,以后开启
4) 启动 /usr/sbin/sshd -D


* 安装ssh
sudo apt-get install openssh-server openssh-client
cd ~/.ssh
ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免登陆的机器上
ssh-copy-id localhost

* 安装pipework
git clone https://github.com/jpetazzo/pipework 
cd pipework/
cp pipework  /usr/bin

运行hadoop001
sudo docker run --name hadoop001 -h hadoop001  -it -v /data/dockers/hadoop001:/home linzhouzhi/hadoop001:v1
为hadoop001 分配ip地址 172.17.0.10
sudo pipework br0 -i eth0 hadoop001 172.17.0.10/24@172.17.1.11


#ip 配置
先查看当前的桥接信息
brctl show
可以看到只有docker0
brctl addbr br0
ip link set dev br0 up
sudo ip addr add 192.168.31.1/24 dev br0
brctl show
* 启动容器
* 查看容器中的网卡信息看到
sudo pipework br0 -i eth1 hadoop001 192.168.31.1/24
sudo pipework br0 -i eth1 hadoop002 192.168.31.2/24
sudo pipework br0 -i eth1 hadoop003 192.168.31.3/24

route -n
# 然后配置一下 hosts 文件
192.168.31.1  hadoop001
192.168.31.2  hadoop002
192.168.31.3  hadoop003 

* 出现Link veth0pl2930 exists and is up
 sudo ifconfig br0 down(关掉br0网卡)
* 出现RTNETLINK answers: File exists

 * 删除已经存在的镜像  
 docker rm 镜像



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值