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. 第6天:DIV+CSS页面布局实战

    今天我从早上9:00写代码一直写到下午18:00,写的我差点抑郁了,还好最后终于写出了一个完整页面,没有做动画效果,就是练习了一下DIV+CSS布局,做的是福务达(www.zzfwd.cn)的主页,真 ...

  2. Django导入外部js、css、图片等巨大的坑

    初学Django,踩过最大的坑只有之一.至今任然不是很明白. 通常我们导入外部js等文件都是 <script src="myScript.js"></script ...

  3. 用Redis实现优先级队列

    在最近在面试过程中,张先森遇到一个面试官这么问,如果一个并发很大的消息应用,想要根据请求的优先级来处理,该怎么做.我当时只是笼统地回答用redis,面试官点了点头,这个问题就此通过. 那么用redis ...

  4. 【Centos】yum 安装mariaDB

    [dream361@za ~]$ sudo yum search mariadb #查找需安装的包 mariadb-libs.x86_64 : The shared libraries require ...

  5. 不安装vc2015 Redistributable解决api-ms-win-crt-runtime-l1-1-0.dll丢失错误

    一.背景 最近用到python下的cx_Oracle模块,开发环境中测试正常,用cx_freeze打包后,到用户机器上一部署,各种奇奇怪怪的问题频出,运行环境如下: a.开发环境:64位win10操作 ...

  6. java归并排序详解

    归并排序 /**   * 归并排序   * 简介:将两个(或两个以上)有序表合并成一个新的有序表 即把待排序序列分为若干个子序列,每个子序列是有序的.然后再把有序子序列合并为整体有序序列   * 时间 ...

  7. 大手册(书籍)排版利器-XML自动排版生成工具

    --支持全球化/多语言/符合W3C标准的XML自动排版工具 Boxth XML/XSL Formatter是专为XML数据或其他结构化数据源自动输出排版文件(如: PDF等)而设计的集数据格式化.版式 ...

  8. [2014-08-18]初尝 AspNet vNext On Mac

    网上关于AspNet vNext的介绍已经非常多,本文不再赘述,仅记录下Mac环境的几点注意事项. 环境 OSX 10.9.4 Mono 3.6.1 Kvm 1.0.0-alpha4-10285 mo ...

  9. bat调用kettle的job文件

    @bat set /p param=请输入时间:echo %param%F:cd D:/data-integrationecho 正在执行接口call Kitchen.bat/norep /file ...

  10. vue.js路由参数简单实例讲解------简单易懂

    vue中,我们构建单页面应用时候,一定必不可少用到vue-router vue-router 就是我们的路由,这个由vue官方提供的插件 首先在我们项目中安装vue-router路由依赖 第一种,我们 ...