目录

1. Docker是什么?

2. CentOS7用阿里云Docker Yum源在线安装Docker

3. 镜像

3.1 配置加速器

3.2 搜索镜像

3.3 下载镜像

3.4 查看宿主机上的镜像

3.5 删除镜像

3.6 保存镜像

3.7 推送镜像到代码仓库(以阿里云docker平台为例)

3.8 使用Dockerfile创建新的镜像(注意:末尾有一个点,表示当前路径)

4. Docker容器

4.1 启动、停止、重启容器命令

4.2 查看当前运行的容器

4.3 查看所有容器

4.4 删除容器

4.5 创建容器(重点)

4.6 启动容器(重点)

4.7 进入容器(重点)

4.8 创建\启动\进入容器(run=create+start)

4.9 退出容器

4.10 宿主机和docker容器之间复制文件


1. Docker是什么?

Docker是一个由GO语言写的程序运行的“容器”(Linux containers, LXCs);

它是完整的一套容器管理系统。

Docker提供了一组命令,让用户更加方便直接地使用容器技术,而无需要过多关心底层内核技术。

注1:什么是容器
        一个容器就相当于一个虚拟机。

注2:docker用途,目前有三大类
        1、提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。
        2、提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。
        3、组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。

2. CentOS7用阿里云Docker Yum源在线安装Docker

见另一篇笔记

3. 镜像

Docker 运行容器前需要本地存在对应的镜像, 如果镜像不存在, Docker 会尝试先从默认镜像仓库下载。
  (默认使用 Docker Hub 公共注册服务器中的仓库), 用户也可以通过配置,使用自定义的镜像仓库。

镜像相关操作:

 3.1 配置加速器

国内从Docker Hub下载镜像速度很慢,我们可以配置阿里云专属加速器来解决。
     
     3.1.1 浏览器访问并登陆阿里云(淘宝或支付宝帐号登陆也可以)

https://www.aliyun.com/

     3.1.2 登陆后,进入阿里云“控制台”,搜索“容器镜像服务”,然后点击菜单:“镜像中心”-->“镜像加速器”

最后,将容器右边的“加速器地址”复制下来即可

https://oyi1xr7k.mirror.aliyuncs.com(这里是我的加速器地址)

 3.1.3 设置容器镜像服务的密码(可选)

容器镜像服务(Container Registry)提供多地域镜像托管能力,稳定的国内外镜像构建服务,便捷的镜像授权功能;

方便用户进行镜像全生命周期管理。在开通流程中,您需要设置独立于账号密码的Registry登录密码,便于镜像的上传、下载。

注:此步骤为可选,如果需要使用阿里云来管理你的镜像 ,此步骤必须设置。

3.1.4 修改docker相关配置

vi /etc/docker/daemon.json

添加下面内容(地址替换成上面的加速器地址):
       
"registry-mirrors":["你的阿里云专属加速器地址"] 
       
       例如:
       {"registry-mirrors":["https://g72i77c9.mirror.aliyuncs.com"]}

注:在这里可以先将registry-mirrors换成自己的阿里云专属加速器地址后,在复制到工具里面去执行(方便)

 3.1.5 重新加载daemon

systemctl daemon-reload

 3.1.6 重启docker

systemctl restart docker

 

   3.2 搜索镜像

$ docker search 镜像名称
     
例如:docker search mysql

3.3 下载镜像

docker pull 镜像名

例如, 获取一个 centos 系统的基础镜像可以使用如下的命令

——未指定版本一般会使用latest(最新的)版本
        $ docker pull centos

——或者直接指定版本
        $ docker pull centos:版本号

3.4 查看宿主机上的镜像

$ docker images

注1:查看image位置
     ## /var/lib/docker为docker默认安装目录
          cd /var/lib/docker/containers 
          ls

3.5 删除镜像

$ docker rmi 镜像ID/标签
     
     例如:
     $ docker rmi 2ca708c1c9cc
     $ docker rmi centos:latest 或 docker rmi centos:版本号

注1:如果提示镜像被使用,需要先停止某个ID的容器,那么要先删除容器再删除镜像。或者强制删除镜像

$ docker rmi -f centos:版本号 
          -f, -force: 强制删除镜像, 即使有容器依赖它

注意, 通常并不推荐使用-f参数来强制删除一个存在容器依赖的镜像。 正确的做法是,先删除依赖该镜像的所有容器, 再来删除镜像。

3.6 保存镜像

$ docker commit -m="description about images" --author="author" {container_id}  {repository/images_name:tag}

3.7 推送镜像到代码仓库(以阿里云docker平台为例)

$ docker login --username=your_username registry.cn-beijing.aliyuncs.com
$ docker tag [ImageId] registry.cn-beijing.aliyuncs.com/[命名空间]/[仓库名称]:[镜像版本号]
$ docker push registry.cn-beijing.aliyuncs.com/[命名空间]/[仓库名称]:[镜像版本号]

3.8 使用Dockerfile创建新的镜像(注意:末尾有一个点,表示当前路径)

$ docker build -t "repository/images_name:tag".

4. Docker容器

容器是Docker的另一个核心概念。简单来说,容器是镜像的一个运行实例。所不同的是;镜像是静态的只读文件,而容器带有运行时需要的可写文件层,同时,容器中的应用进程处于运行状态

如何理解:

类 = 实例    镜像 = 容器

常用操作:

   4.1 启动、停止、重启容器命令

$ docker start 容器ID|name|name:tag      ——启动
$ docker stop 容器ID|name|name:tag      ——停止
$ docker restart 容器ID|name|name:tag   ——重启

 4.2 查看当前运行的容器

$ docker ps

   4.3 查看所有容器

$ docker ps -a

 4.4 删除容器

$ docker rm 容器ID

注:主要支持的选项包括:

-f, --force=false 是否强行终止并删除一个运行中的容器。

-1, --link=false :删除容器的连接 ,但保留容器。

-v, --volumes=false :删除容器挂载的数据卷。

4.5 创建容器(重点)

$ docker create -it centos:latest

$ docker create -it --name tomcat01 centos:latest

① 命令说明

create:关键字

centos:latest:即镜像名字:版本(或镜像ID),将使用指定镜像创建容器。另外,Docker会检查本地是否存在指定的镜像;

不存在就从公有仓库下载

-it:是两个参数,-i:interactive容器具有交互功能,-t:容器将提供伪终端。

--name:指定生成的容器的名字,允许空,如果不指定会自动生成。

② 此时,通过如下命令,可以查看到刚刚创建的容器

$ docker ps - a

③ create命令新建的容器处于停止状态,可以使用start命令来启动它

$ docker start 容器ID

4.6 启动容器(重点)

$ docker start 容器ID/name
     
     注:docker ps 查看已启动容器,注意:此时容器状态为UP,Exited,Created

 4.7 进入容器(重点)

$ docker exec -it 容器ID/容器NAME /bin/bash
     ## 简写

$ docker exec -it 容器ID/容器NAME bash
  
     注:只有在容器启动的时候即UP状态才能进入容器终端

 4.8 创建\启动\进入容器(run=create+start)

# 新建->启动->进入容器
$ docker run -it centos:latest /bin/bash

# 指定了端口号
$ docker run -it -p 7001:8001 centos:latest /bin/bash

# 使用 -P 标记时,Docker 会随机映射一个 49000~49900 的端口     
$ docker run -it -P --name tomcat03 centos:latest /bin/bash

# 此命令没有进入容器,可以之后再进入

更多的时候,需要让 Docker 容器在后台以守护态( Daemonized )形式运行 此时,可以通过添加-d参数来实现:

$ docker run -it -d --name webapp centos:latest 
     $ docker exec -it webapp /bin/bash

参数说明:
     -p:端口映射,格式为:主机(宿主)端口:容器端口
     -P: 注意是大写P,使用 -P 标记时,Docker 会随机映射一个 49000~49900 的端口
     -d:后台运行模式
     --name:容器的名字

 4.9 退出容器

退出时如果想继续运行容器:按顺序按【ctrl+p】,【ctrl+q】
     如果不想继续运行:按【ctrl+d】或输入exit

4.10 宿主机和docker容器之间复制文件

$ docker cp 宿主机绝对路径  容器id:路径

docker镜像容器的创建删除相关推荐

  1. docker镜像容器创建和保存

    docker镜像容器创建和保存 第一步 创建: 创建容器(此处名为wwy/cuda8:v1.0) 以容器可后台运行方式进入容器 第二步 保存: 开启新的终端 第三步 查看: (前提:ubuntu系统, ...

  2. linux docker查找镜像文件,搜索/下载/构建自定义/删除Docker镜像,运行和删除Docker容器的方法...

    本文为你介绍的内容是Docker入门相关的操作方法:搜索Docker镜像.下载Docker镜像.运行Docker容器.构建自定义Docker镜像.删除容器.删除Docker镜像.以下给出的所有步骤均在 ...

  3. docker 镜像容器导入导出、查看日志、拷贝文件命令

    1. 本地文件拷贝到docker 容器中,参考 docker cp /root/pcl-pcl-1.8.1.tar.gz 7ff95b333e12:/docker cp /root/lib64_a 7 ...

  4. 第一章 docker 镜像,容器,仓库基本命令(二)

    仓库(repository)是镜像存放的地方,目前官方维护了一个公共仓库 https://hub.docker.com; 具体的操作自行百度, 这里我们讨论如何搭建私有仓库 1.拉取仓库 $ dock ...

  5. 二、docker 镜像容器常用操作(让我们用docker 溜得飞起)

    文章目录 前言 基本概念 镜像的使用 下载镜像 查询镜像 删除镜像 容器的使用 创建和启动 终止容器 查看容器 重启容器 删除容器 番外 前言 上篇讲了我们如何安装docker,现在该我们一展拳脚的时 ...

  6. docker镜像/容器的基本命令

    ** Docker学习 ** docker常用命令 dockers version // 查看docker的版本*** docker info // 显示docker的系统信息,包括镜像和容器的数量* ...

  7. 一个docker镜像中的目录删除不了问题

    在一个容器中,删除一个目录,失败: bash-4.2# pwd /home/zxcdn/ottcache/tomcat bash-4.2# uname -a Linux 3516b6c97679 3. ...

  8. Xshell+docker镜像/容器+tensorflow环境下的模型训练全过程

    首先介绍实验背景,需要在远程服务器上搭建tensorflow1.0版本环境并训练一个实体识别模型 xshell 首先,看看本地服务器是否有需要的镜像 docker images 可以看到我所用的服务器 ...

  9. 【云原生 | 05】Docker中容器的创建与启停

最新文章

  1. 网页html文档头部声明的两种常用模式
  2. python知识:如何多窗口切换
  3. C语言 | 使用牛顿法求非线性方程的一个实根(附代码)
  4. Git Bash的一些命令和配置
  5. 智能设备逆向工程之外部Flash读取与分析篇
  6. pandas知识点(汇总和计算描述统计)
  7. 多块盘制作成一个lvm
  8. linux之iconv命令
  9. 购物网站的设计与实现论文
  10. sql分组排序取top n
  11. 制作双系统U盘启动盘【Ventoy】
  12. GIS数据漫谈(六)— 投影坐标系统
  13. dbt2 mysql_DBT2 Benchmark Tool (mysql压力测试工具) V0.37.50.14
  14. 读书笔记-财务报表资本结构分析
  15. 宽带多天线无线传输技术发展展望
  16. OnActionExecuting 中设置跳转指定网址或路由
  17. linux log4j2.xml,动态配置log4j2.xml日志输出文件的位置
  18. javascript脚本_JavaScript Shell脚本
  19. openfire html5,HTML5来了,7个混合式移动开发框架
  20. Unity Anchors锚点布局不出现的原因

热门文章

  1. mysql8主从复制环境搭建docker实现
  2. 移动H5 浏览器适配解决方案
  3. 通达信交易接口api有什么用?
  4. 烟草企业客户关系管理现状及解决途径
  5. 学习笔记——高阶函数
  6. 某威超市播音源码+成品v19.11.07
  7. Rhca和Rhce有什么区别?
  8. 谱聚类(Spectral Clustering)详解
  9. 工作随记1:搭建一个简单局域网,并配置远程管理
  10. 复杂验证码生成器【原创】