美文网首页
容器、镜像

容器、镜像

作者: 杨健kimyeung | 来源:发表于2020-07-23 19:26 被阅读0次

容器技术VS虚拟机技术

特性 容器 虚拟机
启动 秒级 分钟级
硬盘使用 一般为 MB 一般为 GB
性能 接近原生 弱于
系统支持量 单机支持上千个容器 一般几十个

底层区别(隔离)

容器应用层(进程级别)

虚拟机是物理资源层的(系统级别)

应用场景

  • 部署单体应用
  • 持续集成与持续部署
  • 微服务

安装

运行测试(已nginx为例)

下载镜像

docker  pull  nginx

运行容器

docker  -p 80:80 -d nginx

说明

  • -p 表示容器映射宿主机端口 左边宿主机端口 : 右边容器端口
  • -d 表示后台运行
  • nginx 表示镜像的名称

基本概念

概要

镜像 (image)

容器(Container)

仓库(Repository)

镜像

一个镜像要一个组文件组成,轻量级,可独立执行的软件,用来保存系统的配置文件,应用,

只能读

运行tomcat

  • 运行的环境(os系统,jdk)
  • 依赖库
  • 配置文件

容器

进行运行产生容器

仓库

存放镜像的

镜像

概要

  • 下载镜像
  • 查看本地镜像
  • 删除本地镜像

下载镜像

语法格式

docker  pull  镜像名:[版本号] 

说明

版本号: 如果不写表示下载最新的版本 latest

栗子

docker  pull   mysql:8.0.17 
docker  pull   nginx

查看本地镜像

语法格式

docker images 

栗子

docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              0901fa9da894        11 days ago         132MB
mysql               8.0.17              b8fd9553f1f0        10 months ago       445MB

删除本地镜像

语法格式

docker  rmi [选项] 镜像ID | 镜像名 | 长ID

选项

选项 说明
-f 强制删除

栗子

先删容器  在删除镜像
#  通过名称删除镜像
docker  rmi -f nginx:
# 通过id删除镜像
docker  rmi  0901fa9da894
#  指定版本的删除
docker  rmi mysql:8.0.17 

其它命令

删除无用的镜像

docker rmi  | grep '<none>' |   awk '{print $3}' | xargs 

删除没有使用的镜像

docker  rmi  'docker images -q'

容器操作

启动容器

语法格式

#  新建容器并且启动容器
docker  run [选项]   镜像名[:版本号] 命令 参数

#  启动停止的容器
docker  start  容器的id或者容器的名称

选项

选项 说明
-d 后台运行 返回容器的长ID
--name='容器名称' 给容器七名字 ,如果不给,系统会默认给容器起名称
-p 映射端口 左边宿主机的端口:右边容器的端口
-v 宿主机的目录:容器的目录 数据卷,将容器中目录映射到宿主机

备注:

run 如果本地没有该镜像,直接从仓库下载

栗子

docker run  --name='nginx-container' -p 80:80 -d nginx

进入容器

进入容器

说明

使用exec命令进入容器

语法格式

docker  exec [选项]  容器的名称或者ID  参数 /bin/sh   /bin/bash

选项

选项 说明
-it 使用交互和命令的方式进入容器

栗子

root@iZbp11fwf4mzq0vmztatbiZ:~# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
6e6d703e0786        nginx               "/docker-entrypoint.…"   23 minutes ago      Up 23 minutes       0.0.0.0:80->80/tcp   nginx-container

docker exec  -it 6e6d703e0786  /bin/bash

查看容器

说明

查看所有运行的或者停止的容器

默认情况下查看正在运行的容器

语法格式

docker ps [选项]

选项

选项 说明
-a 显示所有的容器的

停止容器

语法格式

docker  stop  容器的名称或者容器的ID

栗子

root@iZbp11fwf4mzq0vmztatbiZ:~# docker  ps
CONTAINER ID      ...       PORTS                NAMES
6e6d703e0786                0.0.0.0:80->80/tcp   nginx-container

docker  stop  6e6d703e0786
docker  stop  nginx-containe

删除容器

语法格式

docker rm [选项] 容器的名称或者ID ... 容器名称或者容器ID
选项 说明
-f 强制删除(如果容器在运行,停止容器,在删除容器)

栗子

# 删除正在运行的容器
docker stop 6e6d703e0786
docker rm 6e6d703e0786 
 #  等价于
docker rm -f 6e6d703e0786

删除所有容器

docker  rm -f 'docker ps -aq'

Dockerfile

原生的定制镜像

  • 先有个基础镜像(ubuntu)

    docker  pull  ubuntu
    
  • 运行容器

    docker run --name='ubuntu-jdk1.8' -d  ubuntu:18.0.4
    
  • 进入容器

    docker  exec ubuntu-jdk1.8 -it /bin/bash/
    
  • 下载oracle-jdk

    weget xxx,jdk
    
  • 解压

    tar -zxvf xxxjdk  /opt/
    
  • 配置环境变量

    
    

缺点

  • 制作的过程只有制作者知道

Dockerfile指令

FROM

说明

指定基础镜像 并且必须是第一条指令

指令格式

FROM 镜像名称[:指定版本号]

栗子

FROM  ubuntu:18.0.4
或者
FROM  nginx

RUN

说明

构建镜像时执行的命令

语法格式

shell 格式

RUN 基础命令

exec格式(了解)

RUN ["命令","参数" ,"参数",...]
shell 格式
RUN  apt install vim
# exec 格式
RUN ["apt","install" ,"vim"]

说明

影响制作容器的大小,一条RUN命令就是构建一层

命令

docker build -t 镜像的名称 指定Dockerfile的名称

-f /绝对路径/Dockerfile的名称

栗子

创建Dockefile文件

FROM  nginx
RUN   echo '<h1> 2002班 <h1>'  >  /usr/share/nginx/html/index.html

构建镜像

docker build -t zw/nginx-19 ./

查看镜像是否构建成功

docker images

运行镜像

docker run  -p 80:80 -d  zw/nginx-19

docker-compose

常用的软件

相关文章

  • Docker 常用操作指令

    镜像操作 列出docker下的所有镜像 搜索镜像 拉取镜像 删除镜像 容器操作 查看容器 创建与启动容器 创建容器...

  • docker初识

    镜像命令:拉取镜像查看镜像容器命令:创建容器启动容器/停止容器容器删除拷贝容器目录挂载查看IP 》拉取镜像,创建容...

  • 框架 | Docker | 3.镜像命令

    下载镜像 本地镜像列表 查找镜像 删除镜像 容器快照生成镜像 容器快照导出镜像 镜像导入

  • Docker入门基础文档

    拉取镜像 推送镜像 打包镜像 启动容器 重启或停止或删除容器应用 删除本地镜像 查看容器日志 进入容器内

  • Docker:使用和制作镜像(Dockerfile)

    摘要:Docker 镜像和容器 镜像是类class,容器是实例化的类,镜像是文件,容器是进程 先有镜像后有容器,一...

  • Docker命令及实战

    常用Docker命令 docker容器信息 镜像操作 镜像搜索 镜像下载 删除镜像 容器操作 提示:对于容器的操作...

  • docker

    搜索镜像 拉取镜像 启动镜像 查看所有容器 启动已存在容器 停止容器 进入容器 查询容器运行详细信息 容器打包 查...

  • Docker入门

    获取镜像 列出镜像 删除本地镜像 启动镜像运行容器 查看已经运行容器

  • Docker

    [TOC] 使用 Docker 镜像 下载镜像 列出镜像 构建镜像 删除本地镜像 操作 Docker 容器 容器是...

  • Docker常用命令&操作

    镜像操作 容器操作 下载mysql镜像 启动mysql容器 下载tomcat镜像 启动tomcat容器 -d:后台...

网友评论

      本文标题:容器、镜像

      本文链接:https://www.haomeiwen.com/subject/ettklktx.html