docker
预习材料
MAC使用
mac用iterm运行 boot2docker ssh 可以进入虚拟机
重启mac以后需要先 book2docker start
windows使用
可以用xshell登录到虚拟机方便使用
基本用法
从镜像文件新建一个虚拟机
docker run -t -i -p 80:80 -p 2200:22 --name 42 6e469ec45c90 /bin/bash
docker run -d -p 80:80 -p 2222:22 --name 42 zuroc/42web /usr/sbin/sshd -D
ifconfig 可以看到docker母机的ip
重新进入一个虚拟机
docker start -i 42
浏览所有虚拟机
docker ps -a
一次性删除所有的容器
docker rm $(docker ps -q -a)
一次性删除所有的镜像。
docker rmi $(docker images -q)
docker commit 37a3eb81fb77 zuroc/42web 保存一个虚拟机为镜像 docker
export 42 \| xz -c > 42.txz
rsync -avhP docker.txz root@42py.com:/data
docer export 对应
导入的命令是 cat docker_42web.bz2 | docker import - zuroc/42web
我这里用的是niubi:latest ……
$ sudo ifconfig docker0 docker0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:172.17.42.1 Bcast:0.0.0.0 Mask:255.255.0.0
http://linuxwiki.github.io/Services/Docker.html#62docker0-ip
::
docker export bb6ce0f8e59c |bzip2 -c > 42.tar.bz2
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 8000 -j DNAT –to 172.17.0.17:8000
mysql 密码 42web 解析
修改本机host , 加入
a.com xx.xxx.xx.xx sso.a.com xx.xxx.xx.xx
进入虚拟机后先运行boot sudo /etc/init.d/sshd start 可以启动ssh服务用xshell来登录
sudo /etc/init.d/sshd start
~/ac/zapp/TECH2IPO $ ./dev.sh
brew install dnsmasq
brew install dnsmasq
Mac安装DNSMASQ
要安装dnsmasq,你需要先安装 Homebrew 。
它自称“OS X 不可或缺的套件管理器”。
安装Homebrew
请打开 终端 (应用程序>实用工具),并运行
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
你需要按照提示来继续安装。这个过程或许会很慢,受限于网络状况。如果实在很慢,你可以在VPN环境下安装。
安装完成之后,你就可以使用brew命令来安装dnsmasq了。
安装并配置dnsmasq组件!
仍然在终端运行
brew install dnsmasq
等待安装完成后,请在 /usr/local/ 文件下新建一个 etc 文件夹。
现在把 /usr/local/opt/dnsmasq/dnsmasq.conf.example 文件拷贝至并重命名为 /usr/local/etc/ dnsmasq.conf 。
在刚刚的 /usr/local/etc/ 文件夹下新建一个 resolv.dnsmasq.conf 文件。
用sublime text,textmate,bbedit等纯文本编辑器打开这个 resolv.dnsmasq.conf 文件,输入以下内容
nameserver 223.5.5.5 nameserver 223.6.6.6 nameserver 178.79.131.110
这些都是你常用的DNS地址,你可以添加更多,比如OpenDNS。
用sublime text,textmate,bbedit等纯文本编辑器打开同文件夹下的 dnsmasq.conf 文件,增加以下内容
resolv-file=/usr/local/etc/resolv.dnsmasq.conf
strict-order
no-hosts
cache-size=32768
listen-address=127.0.0.1
address=/c.cc/192.168.59.103 address=/a.com/192.168.59.103
这就是最简单的配置文件。需要说明的是,listen-address后面的可以是多个IP用英文逗号隔开,例如你写listen-address=127.0.0.1,192.168.1.102,其中192.168.1.102是你的计算机的内网IP,就可以实现同一个局域网内的设备,通过设置DNS为这个IP,来实现都通过你的dnsmasq来查询dns,即局域网范围内的DNS泛解析。
要运行并且开机自动运行dnsmasq,在终端运行
sudo cp -fv /usr/local/opt/dnsmasq/\*.plist /Library/LaunchDaemons sudo
launchctl load /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist
现在,你可以通过把Mac系统的DNS改为127.0.0.1来使用dnsmasq。同局域网的用户也可以修改DNS到此台Mac的IP即可。前提是要把此台Mac的局域网IP写到listen-address里。
配置dns
dnsmasq dns config 要检查运行情况,你可以在终端运行
dig g.cn
来检查是否在使用本地的dnsmasq进行dns解析。
DNSMASQ 泛解析
上面只是安装好了dnsmasq,下面来具体介绍DNSMASQ的泛解析功能,来突破墙,实现谷歌服务直连。要添加规则,只需在dnsmasq.conf文件里追加内容即可。
DNSMASQ的泛解析规则是这样的:
address=/baidu.com/1.1.1.1
这意味着,.baidu.com/都将被引导至IP为1.1.1.1。