docker小用有感
2016-07-06 14:01
706 查看
本写写的内容依赖于《Docker从入门到精通》
2,而且docker的启动速度是按秒进行计算的。
3,docker的资源利用率比较高,如果要启动10个docker,对主机来说就像启动10个应用一样。
4一次编译到处运行
5,迁移简单,管理简单
镜像(Image) 容器(Container) 仓库(Repository)
1,镜像就是一个操作系统
2,容器包括操作系统和应用程序加一块是容器
3,仓库就是即从存放镜像的地方,仓库有公共仓库和私有仓库之分
2,直接使用pull或者run命令进行创建容器
3,docker还支持从本地导入的方法,进行创建容器
坑爹特辑:
1,当我们每次运行run命令的时候都会创建一个容器,而且这个容器不会消失。当我们使用docker stop|start|restart <容器名字> 切记容器名字不是绝对不是ubuntu,绝对不是ubuntu,绝对不是ubuntu。ubuntu:12.04 只是一个镜像的名字,不是容器的名字,所以要分开!如果没有创建使用 sudo docker ps -a 进行查看,为了操作方便可以在run的时候加参数–name <容器名字>
2,docker rmi只是移除镜像,如果要移除镜像则要使用docker rm
3,attach只是进入硬运行的容器,just so easy!
导出容器的时候已知已经存在一个容器的名字叫one,所以没有查看直接导出,一般导出的镜像也就600M左右,个人感觉还是蛮大的
其中dasyzz/node:v1是服务器段的仓库文件, node:latest是本地的镜像
1,数据卷
2,数据卷容器
数据卷挂载一般使用主机的文件和docker容器之间进行数据的共享 -v的参数:ro是只读的意思例如下面的代码
sudodockerrun−d−P–nameweb−v/src/webapp:/opt/webapp:rotraining/webapppythonapp.py数据卷容器主要是容器文件和容器文件的共享,如下所示,其中dbdata只是一个容器中的数据卷 sudo docker run -d –volumes-from dbdata –name db1 training/postgres
介绍:
docker主要是使用googl的go语言进行开发,托管咋github上,是实现轻量级操作系统虚拟化的方法。和虚拟机的区别
1主要是虚拟机可以实现硬件上的虚拟化,而docker只是实现应用层的虚拟化。2,而且docker的启动速度是按秒进行计算的。
3,docker的资源利用率比较高,如果要启动10个docker,对主机来说就像启动10个应用一样。
4一次编译到处运行
5,迁移简单,管理简单
概念
Docker 包括三个基本概念镜像(Image) 容器(Container) 仓库(Repository)
1,镜像就是一个操作系统
2,容器包括操作系统和应用程序加一块是容器
3,仓库就是即从存放镜像的地方,仓库有公共仓库和私有仓库之分
创建容器的方法
1,手写Dockerfile,其中在手写过程中涉及的命令比较多2,直接使用pull或者run命令进行创建容器
3,docker还支持从本地导入的方法,进行创建容器
sudo docker run ubuntu:14.04 /bin/echo 'Hello world' 在这段命令中是启动ubuntu容器下版本为14.04的系统下echo命令,并使用该命令打印"Hello world" 切记版本号一定要有,否侧会保存,如果是一个应用级的容器,一般会没有版本号m,那么一般会使用latest最为最新的版本号 sudo docker run -t -i ubuntu:14.04 /bin/bash 该命令的意思是使用系统的bash命令 sudo docker ps -a 是列出所有的容器;
坑爹特辑:
1,当我们每次运行run命令的时候都会创建一个容器,而且这个容器不会消失。当我们使用docker stop|start|restart <容器名字> 切记容器名字不是绝对不是ubuntu,绝对不是ubuntu,绝对不是ubuntu。ubuntu:12.04 只是一个镜像的名字,不是容器的名字,所以要分开!如果没有创建使用 sudo docker ps -a 进行查看,为了操作方便可以在run的时候加参数–name <容器名字>
2,docker rmi只是移除镜像,如果要移除镜像则要使用docker rm
3,attach只是进入硬运行的容器,just so easy!
导入导出容器
图片实例导出容器的时候已知已经存在一个容器的名字叫one,所以没有查看直接导出,一般导出的镜像也就600M左右,个人感觉还是蛮大的
push导docker云端
其中dasyzz/node:v1是服务器段的仓库文件, node:latest是本地的镜像
docker数据管理
docker的数据管理有两种方式1,数据卷
2,数据卷容器
数据卷挂载一般使用主机的文件和docker容器之间进行数据的共享 -v的参数:ro是只读的意思例如下面的代码
sudodockerrun−d−P–nameweb−v/src/webapp:/opt/webapp:rotraining/webapppythonapp.py数据卷容器主要是容器文件和容器文件的共享,如下所示,其中dbdata只是一个容器中的数据卷 sudo docker run -d –volumes-from dbdata –name db1 training/postgres
数据的备份和还原
备份文件 sudo docker run --volumes-from two -v $(pwd):/backup node tar cvf /backup/backup.tar 创建数据卷 sudo docker run -v /dbdata --name dbdata2 node /bin/bash 还原 $ sudo docker run --volumes-from dbdatas -v $(pwd):/backup busybox tar xvf /backup/backup.tar
docker容器的dns
docker没有给每个容器定制专门的dns,每个容器的dns都是从本机文件进行加载的/etc/hosts /etc/resolv.conf从本地的这两节文件夹加载配置给docker容器
容器访问外部网络需要容器开启转发
$sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 1 >等于1说明开启转发,否则没有开启转发,就没有访问外网的能力
两个容器之间进行互相访问
需要主机设置iptables的规则,来达到两个容器ip之间的互相转发,以此来达到互相访问的目的!相关文章推荐
- centos6.5上安装docker
- docker容器的网络信息查看
- openstack kilo-with-dokcer
- 在windows下的安装Docker的教程
- 8个你可能不知道的Docker知识
- 在Docker中自动化部署Ruby on Rails的教程
- 搭建基于Docker的PHP开发环境的详细教程
- Docker容器的Tengine实践
- 利用OpenVSwitch在多台主机上部署Docker的教程
- ubuntu14.04+docker的安装及使用
- Docker 清理命令集锦
- 再Docker中架设完整的WordPress站点全攻略
- 基于 Docker 开发 NodeJS 应用
- 使用Docker来加速构建Android应用的基本部署思路解析
- 在Docker上部署Python的Flask框架的教程
- 在Docker上开始部署Python应用的教程
- 详解在Python和IPython中使用Docker
- python脚本监控docker容器
- 使用IPython来操作Docker容器的入门指引
- Alpine Linux Repository本地镜像制作