最近重新梳理了一下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知识点杂记的更多相关文章

  1. Docker 使用杂记 - 最佳实践尝试 - 实战

    目录 Docker 使用杂记 - 最佳实践尝试 - 实战 Docker简介 项目背景 内在原因 外在原因 基础镜像 需求 镜像维护者 工作文件夹 文件 ADD COPY 宗卷 命令 入口点 Docke ...

  2. docker知识点

    1  安装 http://www.runoob.com/docker/centos-docker-install.html 2  dockerhub官网找到 emqttd 执行 docker pull ...

  3. docker 知识点汇总

    目录 什么是 Docker Docker 简介 Docker 的特点 如何使用 Docker 镜像的常用操作 容器的常用操作 Docker 命令汇总 手工制作 java 镜像 使用 Dockerfil ...

  4. docker 知识点

    docker 教程:http://www.runoob.com/docker/docker-tutorial.html docker 仓库地址:https://store.docker.com/ do ...

  5. Docker知识点总结

    一. docker介绍: 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不 ...

  6. Docker知识点整理

    目录 1. Docker简介 1.1 Docker是什么 1.2 在隔离的容器中运行软件 1.3 分发容器 2. Docker镜像 2.1 Docker镜像简介 2.2 Docker镜像常见操作 2. ...

  7. docker知识点扫盲

    最近给部门同事培训docker相关的东西,把我的培训内容总结下,发到博客园上,和大家一起分享.我的培训思路是这样的 首先讲解docker的安装.然后讲下docker的基本的原理,最后讲下docker的 ...

  8. redis知识点杂记

    最近梳理了一下redis的基本知识.本文会从redis的简单使用.redis的数据类型.redis持久化三个方面做简单阐述和总结. 一.Redis基本操作 1.key的规则 不能使用\n空格.其他都可 ...

  9. python知识点杂记2

    1. 如果已经有一个list或者tuple,要调用一个可变参数怎么办?2. >>> nums = [1, 2, 3]3. >>> calc(*nums)4. 14* ...

随机推荐

  1. Dom文本应用-表格隔行间亮样式

    效果:  隔行一个颜色,鼠标移上去,被选中的那一行就变颜色,其次,鼠标离开其区域,颜色又变回原来的颜色. 一.表格隔行间亮样式-HTML代码 首先我们要有个表格 <table id='tab1' ...

  2. springboot maven 部署

    1.在pom.xml文件中配置tomcat插件 <build> <plugins> <plugin> <groupId>org.springframew ...

  3. html 提取 公用部分

    在写HTML时,总会遇到一些公用部分,如果每个页面都写那就很麻烦,并且代码量大大增加. 网上查询了几种方法: 1.es6 的 embed 标签. <embed src="header. ...

  4. 安装php调试工具 Xdebug的步骤 火狐 phpstorm联调

    一 安装服务器端 1 选择你的版本 <?php phpinfo(); ?> 比如我的: 关键是这三项:PHP Version 7.3.0Architecture x86 (x86是32位系 ...

  5. xml文件中&符号需要转义为&amp;

    xml文件中&符号需要转义为&

  6. 通过msyql proxy链接mysql中文乱码及session问题

    1.session问题 问题前提:一台机数据库为两个实例,通过不同的socket监听不同端口对外提供服务.不同的站点都访问同一个VIP不同的端口进行访问数据库. 故障现象:一旦有一个站点先用了这个vi ...

  7. HDU6030 Happy Necklace(递推+矩阵快速幂)

    传送门:点我 Little Q wants to buy a necklace for his girlfriend. Necklaces are single strings composed of ...

  8. MAC shell ps 命令详解(转)

    ps命令为我们提供了一次性的查看进程结果,它所提供的查看结果不是动态连续的:如果想对进程时间监控,应该用top工具 Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当 ...

  9. 106. Construct Binary Tree from Inorder and Postorder Traversal根据后中序数组恢复出原来的树

    [抄题]: Given inorder and postorder traversal of a tree, construct the binary tree. Note:You may assum ...

  10. 源发行版 1.8 需要目标发行版 1.8以及usage of api documented as @since 1.8+

    Maven项目每个Module都有单独的pom.xml,如果不在pom.xml中进行配置,则默认将Module的Language Level设置为5.所以要在pom.xml文件中添加插件进行配置. & ...