docker知识点杂记
最近重新梳理了一下docker的一些基本知识,简单做了下总结。以后会逐步补充。
1、查看系统内核版本,需要3.10以上
$ uname -r
2、下载docker
说明:centos安装docker比较简单,使用yum安装即可。ubuntu下如果实用apt-get的方式安装不会是最新版,可以之前帖子,里面做了详尽的讲解。
ubuntu:http://www.cnblogs.com/tianhei/p/7802064.html
centos:yum install docker
3、查看docker版本
$ docker -v
4、启动docker
$ service docker start
5、设置开机启动(可以不设置)
$ systemctl start docker $ systemctl enable docker
6、下载镜像
官方镜像:hub.docker.com
阿里云的docker仓库:dev.aliyun.com
例如:docker pull busybox
7、查看镜像
$ docker images
8、删除镜像
不能删除镜像的情况:
1)有容器使用镜像已经被创建
2)此镜像是其他镜像的父镜像
查看当前跑起来的镜像:
$ docker ps -a
查看镜像的信息:
$ docker inspect app:1.0 //app是镜像名,1.0是镜像版本
删除镜像:
$ docker rmi IMAGE_ID // IMAGE_ID 是image的唯一id
9、上传镜像
官方网站(缺点网速慢):docker hub
私有仓库(需要维护网速快):
上传到官方docker hub实例:
1)进入docker hub官网网站创建账号
2)docker login // 输入用户名密码
3)docker push carson/alpine // carson/alpine是镜像名
10、启动容器
$ docker -run -d -p : --restart=always --name registry -v /data/registry:/var/lib/registry registry:
说明:
dockcer run 创建容器
-d:创建后,进程启动到后台
-p:端口映射。前面宿主机,后面容器
--restart=always:有异常自动启动
--name:容器名字
-v:容器的目录映射
registry:2 : 要启动的镜像名字
11、docker的操作命令
run/create:创建
start:启动
stop/kill:停止
restart:重启
pause:暂停
unpause:恢复
logs:查看容器
stats:使用的容量等
top:看到容器跑了多少进程
port:端口映射信息
exec/attach:docker exec -it app bash //登录容器中 exit退出
diff:
inspect:查看容器详细信息
update:更新容器信息
例如:docker update -h //查看帮助
docker update -m 256m app //app这个容器使用内容更新到256m
cp:拷贝文件。宿主机和容器间
例如:docker cp app:/usr/share/nginx/html/index.html .
export:把容器保存到tar文件
import:把tar文件导出到镜像列表
rm:删除。-f强制
12、镜像与容器的关系
镜像是只读的,容器是执行起来的镜像。
容器之间有一样的文件是可共用的,省资源。
commit:把容器commit成镜像
docker commit -h
save:把镜像保存成tar文件
load:把镜像tar文件导入到镜像列表
history:查看镜像的操作历史
pull:下载镜像
search:查找镜像源
13、保留容器数据volume
默认的情况下,容器中的数据只有本次启动可见,如果容器重启数据不会保留。若想让数据持久化,需要使用volume参数来挂载一个本地路径以保留数据。
docker run -v把数据挂在到宿主机
容器间数据共享,相当于挂载:
例子:
第一个容器:docker run -d -v /web-data:/tmp:ro --name data-container demos
第二个容器:docker run -d --volumes-from data-container --name web-container domos
第三个容器:docker run -d --volumes-from data-container --name web-container-2 domos
14、dockerfile
dockerfile用于制作一个用户自定义的镜像。需要使用FROM、RUN、WORKDIR、CMD等语法格式进行编写。
dockerfile文件内容:
FROM centos: RUN yum -y install epel-release && \ yum -y install nginx && \ yum clean all EXPOSE CMD ["nginx","-g","deamon off;"]
制作docker镜像
$ docker build -t app .
15:、docker网络模式
nat(默认):每个容器有个网卡,每次启动都会给容器分配一个私有ip。每次启动ip会变
host:固定ip,跟主机ip相同,比较危险宿主机容易被攻击。docker run -d --name app --net=host nginx:1.11.1
container:两个容器使用一样的ip。docker run -it --name app --net:container:app1 app sh
none:不创建网络。
docker知识点杂记的更多相关文章
- Docker 使用杂记 - 最佳实践尝试 - 实战
目录 Docker 使用杂记 - 最佳实践尝试 - 实战 Docker简介 项目背景 内在原因 外在原因 基础镜像 需求 镜像维护者 工作文件夹 文件 ADD COPY 宗卷 命令 入口点 Docke ...
- docker知识点
1 安装 http://www.runoob.com/docker/centos-docker-install.html 2 dockerhub官网找到 emqttd 执行 docker pull ...
- docker 知识点汇总
目录 什么是 Docker Docker 简介 Docker 的特点 如何使用 Docker 镜像的常用操作 容器的常用操作 Docker 命令汇总 手工制作 java 镜像 使用 Dockerfil ...
- docker 知识点
docker 教程:http://www.runoob.com/docker/docker-tutorial.html docker 仓库地址:https://store.docker.com/ do ...
- Docker知识点总结
一. docker介绍: 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不 ...
- Docker知识点整理
目录 1. Docker简介 1.1 Docker是什么 1.2 在隔离的容器中运行软件 1.3 分发容器 2. Docker镜像 2.1 Docker镜像简介 2.2 Docker镜像常见操作 2. ...
- docker知识点扫盲
最近给部门同事培训docker相关的东西,把我的培训内容总结下,发到博客园上,和大家一起分享.我的培训思路是这样的 首先讲解docker的安装.然后讲下docker的基本的原理,最后讲下docker的 ...
- redis知识点杂记
最近梳理了一下redis的基本知识.本文会从redis的简单使用.redis的数据类型.redis持久化三个方面做简单阐述和总结. 一.Redis基本操作 1.key的规则 不能使用\n空格.其他都可 ...
- python知识点杂记2
1. 如果已经有一个list或者tuple,要调用一个可变参数怎么办?2. >>> nums = [1, 2, 3]3. >>> calc(*nums)4. 14* ...
随机推荐
- 学习excel的使用技巧四显示正常的数字
记得之前在excel中输入一些数字比如输入手机号 就会变成1.E几类似这种 那么怎样显示正常的数字呢 先选中要操作的输入框 1 找到 数字 这个功能的地方 2 设置为 数值 并且小数点为0 3 ...
- 如何解决python 图表中文显示乱码问题(matlplotlib 包)
目前搜到的是,下载一个字体到程序路径,设置成默认字体. https://blog.csdn.net/irene_loong/article/details/68955485 #图表显示中文设置 im ...
- kettle数据库连接使用变量
新增db连接(密码也可以设置参数) 转换中,右键空白处,选择转换设置
- java 内部类注意点
1.只有内部类可以是私有类,而常规类只可以具有包可见性,或公有可见性. 内部类访问权限修饰符可以为:public.protected.默认.private:(可以用哪些修饰符视具体内部类类型而定) 常 ...
- Linux网络编程学习(一) ----- 概论和Linux模型(第一章第二章)
1.什么是计算机网络,通信方式是什么? 计算机网络就是通过通信线路相互连接的计算机的集合,主要通过双绞线.同轴电缆.电话线或者光缆等有形传输介质通信,还有就是通过激光.微波.卫星等实现无线通信 2.W ...
- resize2fs
VPS是15G的..但是dh和fdisk显示不一样..求解 df:Filesystem Size Used Avail Use% Mounted onudev 236M 0 236M 0% /devt ...
- lambda正则化参数的大小影响
当lambda的值很小时,其惩罚项值不大,还是会出现过拟合现象,当时lambda的值逐渐调大的时候,过拟合现象的程度越来越低,但是当labmda的值超过一个阈值时,就会出现欠拟合现象,因为其惩罚项太大 ...
- Oracle修改表结构字段名和字段长度
添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….); 修改字段的语法:alter ...
- jquery中bind和on的区别
1.首先,来看看bind和on的语法. bind的用法: $('a').bind('click',[data],function(){}) 其事件的绑定者是固定的,就是a,第一个参数是事件,第二个参数 ...
- 在java服务端判断请求是来自哪个终端
在servlet中,我们可以获取到HttpServletRequest,然后通过HttpServletRequest的getHeader("User-Agent")方法获取请求头中 ...