first install it:

首先安装:

apt install docker.io

基本概念:

镜像:相当于虚拟机里的磁盘文件,里面有一套配置好的系统,应用程序

容器:相当于一个虚拟机实例,一个镜像能打开多个容器,互不干扰,容器里的文件系统都是临时的.改变不影响镜像.

搜索/下载/查看镜像:

docker search 关键词

会根据关键词搜索镜像并显示列表

列表中的镜像大多是 用户名/镜像名 结构,下载的时候要包含用户名.

有个别镜像没用户名,那是经过docker官方认证的安全镜像.可放心下载食用(滑稽脸)

后面会教怎么上传镜像

docker pull 镜像全名

会下载镜像

如果已知镜像全名,可以直接run,会自动下载.

docker images会显示本地所有镜像,会有镜像ID,操作镜像的时候可通过ID操作(在能区分其它镜像的情况下,只输入前几位即可)....

打开容器运行镜像:

建立一个目录给容器内使用:

不要动容器里的文件目录,重启会丢失!要操作文件自己另外挂载目录进去!如果特殊情况(比如你用apt装了程序)非要这么做,请留意后面的[保存当前容器状态为新镜像]

mkdir /docker

接着:

docker run -i -t -v /docker:/docker -p 80:80 nginx /bin/bash

解释:

建立一个容器,运行一个nginx镜像,如果找不到,docker会去官网下载

-i -t  通常成对用,表示让容器的标准输入保持打开,以及让docker建立一个伪终端并附加到容器的标准输入输出上.

-v /docker:/docker 挂载文件夹到容器内

-p 80:80 将主机的80端口转到容器80端口

/bin/bash 打开容器后要运行的指令(允许加参数)

在容器内切换出去:

不停止容器:Ctrl+P Ctrl+Q

停止容器:执行exit指令或者快捷键 Ctrl+A Ctrl+D  (注意:容器停止了但是还是存在的)

查看容器列表:

docker ps -l

容器列表里每个容器都有个ID,操作容器的时候可以通过ID操作,输入前几位就行!里面包含 启动的 和 停止的 容器!

附加到容器控制台:

docker attach 容器ID或容器名

如果容器没运行,得先把它运行起来:

docker start 容器ID或容器名

既然有运行,当然也有停止指令..下面就有↓

删除容器:

docker rm 容器ID或容器名

删除之前如果容器没结束,得先结束掉:

docker stop 容器ID或容器名

删除镜像:

docker rmi 镜像ID或镜像名

删除之前请先删除该镜像相关容器

保存当前容器状态为新镜像:

在容器运行中安装配置好后,可将容器状态保存为镜像,指令是:

docker commit 容器ID或容器名 镜像名

如果想提交到docker镜像中心,得添加这些参数:

-a:作者

-m:说明文本

比如我的语句:

docker commit -a "o70078" -m "this is a test" 4200 o70078/oknginx

上传容器到docker镜像中心:

首先去docker官网注册账号:https://cloud.docker.com/

在机器上登录:

在主机运行 docker login

会让你输入帐号密码登录

然后 docker push 镜像名

导出容器为文件,以及导入文件(所谓的离线分发~):

导出:docker export 容器ID > 文件路径

导入:docker import 文件  (可以是在线的http URL)

docker应用笔记的更多相关文章

  1. Docker学习笔记 — 配置国内免费registry mirror

    Docker学习笔记 — 配置国内免费registry mirror Docker学习笔记 — 配置国内免费registry mirror

  2. docker学习笔记1 -- 安装和配置

    技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...

  3. Docker学习笔记之一,搭建一个JAVA Tomcat运行环境

    Docker学习笔记之一,搭建一个JAVA Tomcat运行环境 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序 ...

  4. docker~学习笔记索引

    回到占占推荐博客索引 使用docker也有段时间了,写了不少文章与总结,下面把它整理个目录出来,方便大家去学习与检索! docker~学习笔记索引 docker~linux下的部署和基本命令(2017 ...

  5. Docker学习笔记 - Docker容器内部署redis

    Docker学习笔记(2-4)Docker应用实验-redist server 和client的安装使用 一.获取redis容器(含客户端和服务端) 二.创建服务端容器 1.在终端A中运行redis- ...

  6. docker学习笔记(一)—— ubuntu16.04下安装docker

    docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...

  7. Docker入门笔记

    Docker入门笔记 随笔记录初学Docker遇到的问题, 以免下次再犯. 本机系统Ubuntu18.04 安装 Docker有2个版本 Community Edition (CE) 社区版(免费) ...

  8. Docker入门笔记(1)

    Docker入门笔记(1) 1.安装Docker yum -y install docker-ce 2.查看Docker版本 [root@localhost ~]# docker -v Docker ...

  9. Docker学习笔记总结

    Docker学习笔记 https://yeasy.gitbooks.io/docker_practice/content/   一 环境搭建 Ubuntu安装 .添加软件源的GPG密钥 curl -f ...

  10. docker学习笔记二:常用命令

    docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ...

随机推荐

  1. Spring Web MVC(二)

    [toc] 五大核心组件 Controller (处理器.控制器) 控制器的概念是MVC设计模式的一部分(确切地说,是MVC中的C).应用程序的行为通常被定义为服务接口, 而控制器使得用户可以访问应用 ...

  2. Thinking in Java系列 文档+代码+简评

    声明:本人无意侵犯原作者的版权,这里可下载的文档都属于作者自行开放下载的,统一放置在这里是因为不可预测的原因使得原文档和代码不方便下载,故将我所收集的内容统一在这里,如果这里的内容侵犯了别人,请告知我 ...

  3. shell的编程结构体

    本文目录: 1.1 shell函数 1.2 条件结构:if 1.3 条件结构:case 1.4 条件结构:select 1.5 循环结构:for 1.6 循环结构:while 1.7 循环结构:unt ...

  4. Mybatis分页插件PageHelper正确的使用方法(网上有2篇不够科学的文章)

    今天下午在Mybatis项目中,实现分页.因为我是后加入项目中的,Leader用的是PageHelper这个组件,但是我在实际使用的过程中遇到了2个大问题. 1.http://www.oschina. ...

  5. java web面试技巧,数据库面试,java web轻量级开发面试教程

    我最近看到一本比较好的讲java web方面面试的书,java web轻量级开发面试教程. 其中不仅用案例和视频讲述了Spring MVC,Hibernate, ORM等方面的技巧,而且还实际讲到了面 ...

  6. redis实现消息队列

    业务需求 本文是以laravel框架来介绍redis队列,具体用法你可以参考http://www.cnblogs.com/lengthuo/p/7277260.html最近接受一个很简单的东西,(说起 ...

  7. jeecg 3.7.1 新版功能,集群定时任务动态发布模块 使用规则

    jeecg 3.7.1  集群定时任务动态发布模块 使用规则   新版特性:    支持集群定时任务,支持分布式. 菜单路径: 系统监控-->定时任务 字段说明: 任务ID.任务说明:自定义即可 ...

  8. 数据结构-二叉树 C和C++实现

    二叉树,指针域具有两个下一节点的特殊链表结构. 先来看看它的结构 (此处补图) 来看程序中需要使用到的概念: 树根:二叉树的第一个节点 子树:对于某一个节点指针域指向的节点,左指针指向的节点为左子节点 ...

  9. python+selenium自动化软件测试(第10章):测试驱动TDD

    测试驱动开发模式,要求开发在写业务代码的时候,先写出测试代码,同时单元测试例子决定了如何来写产品的代码,并且不断的成功的执行编写的所有的单元测试例子,不断的完善单元测试例子进而完善产品代码, 这样随着 ...

  10. Junit4的最简单例子

    首先是JUnit的百度百科介绍: 接下来是JUnit4的最简单例子,使用的开发软件为Eclispe(里面集成了JUnit): 1.建立一个java project: 2.建立一个java class: ...