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* ...
随机推荐
- 代码:CSS——reset.css
http://www.cnblogs.com/qq21270/p/5577856.html 图片列表 A链接标签: /* 链接样式.文字颜色 */ a{color:#666;text-decorati ...
- python3基础: 元组tuple、 列表list、 字典dict、集合set。 迭代器、生成器
一.元组: tuple Python 的元组与列表类似,不同之处在于元组的元素不能修改. 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组 tup2 = (111, 22, 33, ...
- Maven CXF wsdl2Java String生成JAXBElement<Xxx> 解决方法
添加要bindingFile的jaxb配置文件,如下: <jaxb:bindings version="2.1" xmlns:jaxb="http://java.s ...
- python 如何把小数变成百分数格式
1. 数据样本 ,valid_rate,homework_rate,inter_rate,playback_rate,zhujiang_good_comment5_rate,fudao_good_co ...
- maven的tomcat插件问题
在dependence中不用加tomcat的jar, 记得在plugin中加入tomcat插件就行. 否则会出问题.
- css学习2
1.垂直居中 -父元素高度确定的单行文本: 设置父元素的 height 和 line-height 高度一致来实现的.(height: 该元素的高度:line-height: 行高(行间距),指在文 ...
- Asp.Net+JQuery.Ajax之$.post
段时间有点跑偏,经过米老师和师傅的耐心指导,终于认识到自己的问题,现在回归常规路线,继续B/S的学习. 经过近半个月的熏陶,对JQuery慢慢的有了亲切感.当时我采访过一清,问他看完JQuery视频有 ...
- leetcode20
public class Solution { Stack<char> S = new Stack<char>(); public bool IsValid(string s) ...
- python接收html页面上传的文件
使用的 flask, 没有安装的先安装 pip install flask 示例代码:示例没有自动创建静态文件夹,需要自己在同级 创建一个名为 static 的文件夹来存放上传的文件 示例展示为图片 ...
- Java中的反射总结
反射是获取运行时类信息,即常量区中的Class信息. 要获取类信息,必然需要依据,不然系统怎么指定你要获取那个类信息, 类信息在java中就是Class类的一个对象,它是一个java类抽象,换句话说它 ...