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. Swiper.js

    Swiper常用于移动端网站的内容触摸滑动 http://idangero.us/swiper/#.WUCSo_mGOUk

  2. 【Linux 网络】网络测试命令 长期更新

    一.网络测试命令 1.测试 网络连接 发送两包后停发 [oracle@hadoop ~]$ PING www.a.shifen.com (() bytes of data. bytes from tt ...

  3. BotVS开发基础—2.5 策略交互

    一.代码部分 isOpen = False; # 是否 开仓 price = 0; # 全局变量 价格 amount = 0; # 全局变量 下单量 def exec_command(command) ...

  4. 初入angular4——实际项目搭建总结

    前言 接到一个pc端后台项目,还会加入两个安卓同事一起学习和做这个项目,需要带一下他们. 既ng1之后,我就没怎么有过其它后台框架的实际项目经验了,期间用的移动端框架也并非vue.angular系列. ...

  5. LeetCode315—Count of Smaller Numbers After Self—Java版归并算法

    这是我在研究leetcode的solution第一个解决算法时,自己做出的理解,并且为了大家能看懂,做出了详细的注释. 此算法算是剑指Offer36的升级版,都使用的归并算法,但是此处的算法,难度更高 ...

  6. 用最简单的方法判断JavaScript中this的指向

    目录 * 一个特例 * 开始判断 * 法则一:对象方法中的this指向对象本身(箭头函数形式的除外) * 法则二:多层嵌套函数中的this指向等同于包含该this的最近一个function的this ...

  7. .net分布式压力测试工具(Beetle.DT)

    肯定有人会问为什么会写这样一个开源工具?和现有的有什么差别?不过对于一个程序员来说写东西还真不需要理由的:),主要原因是工作有点闲(开玩笑),不过说实话一个程员怎可能会停止写代码呢(作为一个奔4的程序 ...

  8. 快速排序Java实现

    package practice; import edu.princeton.cs.algs4.*; public class TestMain { public static void main(S ...

  9. js封装成插件

    由于项目原因,工作一年多还没用js写过插件,项目太成熟,平时基本都是在使用已经封装好的功能插件.感觉自己好low......这两天想自己抽空写一个canvas画统计图与折现图的插件,所以就去网上学习了 ...

  10. box-sizing怪异盒子模型在移动端应用

    盒子模型不必多少,公认的盒子模型 总宽度=width + padding(padding-left,padding-right) + border(border-left,border-right) ...