这篇文章介绍的很好 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 镜像
# 安装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 镜像