博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

docker的使用02

Posted on 2017-07-17 18:29  开飞机的贝塔  阅读(109)  评论(0编辑  收藏  举报

自定义容器名称:

docker run --name -i -t ubuntu /bin/bash

docker ps -a

数据卷的使用

数据卷其实就是容器和宿主机目录之间的映射。

具体实现:

sudo docker run -v ~/datavolumn:/data -it centos /bin/bash

echo "it's just a test for datavolumn.">/data/test.txt

exit

cat /datavolumn/test.txt

it's just a test for datavolumn.

说明:目录如果不存在,不用担心,会自动创建的!

也可以使用dockerfile创建数据卷。

使用容器作为数据卷

--volumes-from 容器名称

启动已有的容器:

docker start|restart container1 启动

docker attach container1 登入

数据卷的备份

docker run --volumes-from container1 -v ~/backup:/backup -name container2 centos tar cvf /backup/back.tar /datavolume1

具体就是在新容器container2中创建2个数据卷,2个数据卷分别映射在宿主机和container1,最后备份文件在宿主机目录下。

数据卷的还原

只不过把命令替换为还原命令。

docker run --volumes-from container1 -v ~/backup:/backup -name container2 centos tar xf /backup/back.tar /datavolume1

docker的网络管理

安装bridge-utils

brctl show 查看网桥

sudo ifconfig docker0 ip netmask 255.255.255.0 修改默认网卡地址

自定义网桥

sudo brctl addbr br0

sudo ifconfig br0 ip netmask 255.255.255.0

sudo vim /etc/default/docker

DOCKER_OPS="-b=br0"

sudo service docker restart

docker与外部网络连接:

sudo sysctl net.ipv4.conf.all.forwarding
net.ipv4.conf.all.forwarding = 1

通过iptables工具来控制

查看端口映射:

docker port container1

docker容器的互联:

--link=container:alias

docker run container2 --link=container1:web centos

原理:相当于给容器起一个域名,这样就能使用域名访问了。

拒绝容器的访问

sudo vim /etc/default/docker

DOCKER_OPTS="-cc=false,--iptables=true"

service docker restart

这样就可以使用iptables来控制容器间的访问。