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. 教程:基于访问控制的ABAP CDS视图权限

    Hi! 对每一个CDS视图,我们都可以通过DCL(Data Control Language)定义访问控制.在这篇文章中,我会介绍ABAP CDS视图中非常重要的一面:权限管理. 本文的阐述基于我正在 ...

  2. sequelizejs中文文档(一)

    英文文档 入门 安装 Sequelize 支持 NPM 和 Yarn 的安装. // Using NPM $ npm install --save sequelize # And one of the ...

  3. poj 3013 Big Christmas Tree

    Big Christmas Tree Time Limit: 3000MS   Memory Limit: 131072K Total Submissions: 20974   Accepted: 4 ...

  4. Be the Best of Whatever You Are

    If you can't be a pine on the top of the hill, Be a scrub in the valley—but be The best little scrub ...

  5. php 自己封装的一些函数

    手机归属地函数 function get_mobile_area($phone){ $sms = array('province'=>'', 'supplier'=>''); //初始化变 ...

  6. SQL Server内存

    背景 最近一个客户找到我说是所有的SQL Server 服务器的内存都被用光了,然后截图给我看了一台服务器的任务管理器.如图 这里要说明一下任务管理器不会完整的告诉真的内存或者CPU的使用情况,也就是 ...

  7. python学习总结(面向对象进阶)

    -------------------类属性和实例属性关系------------------- 1.类属性和实例属性关系     1.实例属性         实例对象独有的属性     2.类属性 ...

  8. TF-IDF学习(python实现)

    从大一开始接触TF-IDF,一直觉得这个特别简单,,但是图样图森破,,, 即使现在来说,也似乎并非完全搞懂 核心思想: 计算词语在该文章中权重,与词语出现次数和词语价值有关 词语出现次数,重复即强调, ...

  9. java_jstl 标签库

    jstl标签库的使用以及介绍 jstl:jsp标准标签库,是jsp的标签集合,它里面封装了jsp通用的核心功能,比如:建构化的任务,迭代,条件判断,xml 文档的操作,国际化标签,sql标签,还提供框 ...

  10. 交换基本数据类型的方法swap,并影响到主方法

    不知道朋友在哪里看到的问题,qq来问我,题目是:在不修改主方法的前提下使用一个方法交换两个int的值,方法如下: public static void main(String[] args) { In ...