首先查看下现有的容器和image

docker ps
#已启动的所有容器
docker ps -a
#所有容器,包括未启动的
docker images
#当前已有的镜像

一、查找images

例:查找nvidia相关的image

[root@localhost ~]# docker search -s 10 nvidia
Flag --stars has been deprecated, use --filter=stars=3 instead
NAME                       DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
nvidia/cuda                CUDA and cuDNN images from gitlab.com/nvidia…   699
nvidia/digits              DEPRECATED                                      70
nvidia/caffe               DEPRECATED                                      39
nvidia/cudagl              CUDA + OpenGL images from gitlab.com/nvidia/…   24
nvidia/opengl              OpenGL images with libglvnd from Nvidia         24
nvidia/k8s-device-plugin   Images for github.com/NVIDIA/k8s-device-plug…   22
nvidia/cuda-ppc64le        CUDA and cuDNN images from  gitlab.com/nvidi…   14
nvidia/opencl              OpenCL images from gitlab.com/nvidia/opencl     14
nvidia/driver              Driver images from https://gitlab.com/nvidia…   12

参数说明:

NAME: 镜像仓库源的名称

DESCRIPTION: 镜像的描述

OFFICIAL: 是否 docker 官方发布

stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。

AUTOMATED: 自动构建。

二、下载images

docker pull [OPTIONS] NAME[:TAG|@DIGEST]
//拉取一个或多个镜像使用docker pull,如果没有指定镜像标签,docker默认使用:latest
//下面的示例命令就会拉取最新的镜像文件,等同于:docker pull debian:latest

参数说明:

  • -a :拉取所有 tagged 镜像
  • --disable-content-trust :忽略镜像的校验,默认开启

例子:pull 一个nvidia/drive的镜像

[root@localhost data]# docker pull nvidia/drive
Using default tag: latest
latest: Pulling from nvidia/dcgm-exporter
a1125296b23d: Pull complete
3c742a4a0f38: Pull complete
4c5ea3b32996: Pull complete
1b4be91ead68: Pull complete
e93a0823362a: Pull complete
a7548f29ba00: Pull complete
a4a3c4393c19: Pull complete
f6d9edaa5238: Pull complete
Digest: sha256:69403133a54b9600337cb052cc2aafd38192f3a644a79542e4fa92a487cd3ccf
Status: Downloaded newer image for nvidia/drive:latest
docker.io/nvidia/nvidia/drive:latest
[root@localhost data]#

三、利用images新建容器

docker run -itd --name face001 -p 3306:3306 --cap-add SYS_ADMIN --privileged face:V1 /usr/sbin/init
#run -itd 创建容器并运行于后台,进入容器控制台
#--name face001 将容器命名为face001
#-p 3306:3306 容器映射端口(【端口映射】-p 3306:3306 宿主机端口:容器端口)
#--cap-add SYS_ADMIN 添加系统权限SYS_ADMIN
#-privileged 特权容器(特权容器拥有所有的capabilities)
#face:V1 创建容器的镜像image
#执行/usr/sbin/init

参数说明:

-d, --detach=false 指定容器运行于前台还是后台,默认为false -i, --interactive=false 打开STDIN,用于控制台交互 -t, --tty=false 分配tty设备,该可以支持终端登录,默认为false

-p, --publish=[] 指定容器暴露的端口(【端口映射】-p 3306:3306 宿主端口:容器端口)

-w, --workdir="" 指定容器的工作目录 -c, --cpu-shares=0 设置容器CPU权重,在CPU共享场景使用

-m, --memory="" 指定容器的内存上限

--cap-add=[] 添加权限,权限清单详见:capabilities(7): overview of capabilities - Linux man page

--privileged=false 指定容器是否为特权容器,特权容器拥有所有的capabilities

--name="" 指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字

创建完成后可以输入docker ps查看是否已经运行

[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                            NAMES
4dfd419d3adc        face                "/usr/sbin/init"         20 hours ago        Up 20 hours         0.0.0.0:3306->3306/tcp                           face001

此步骤完成后便可进入容器进行需求环境部署,部署完成后则可以继续下面的步骤

进入容器命令:docker exec -it 4dfd419d3adc bash

四、打包容器为image

完成创建容器和环境部署工作后就可以将当前容器打包成新的image以方便移植部署

#正式环境环境建议使用dockerfile

docker commit -a "luck-lyj" -m "commit-test" 7740db56288a face:v1
#打包命令

参数说明:

格式如:docker  commit  -a  -m  现有容器ID

commit参数进行保存镜像,

-a 提交人的姓名

-m “提交内容”,

保存后的 名称:版本号(自定义)

查看生成后的image

docker images

五、打包成tar

docker save -o face_v1.tar face:v1

参数说明:

save 保存到当前路径

-o 打包后的tart包名称

对应打包的image 名字:TAG

备注:建议打包成tar后再次使用压缩工具打包成 /.tar.gz/zip/rar 包,可以压缩较大程度上减少文件大小

六、加载tar

docker load -i  face_v1.tar

然后查看是否存在该镜像

docker images

七、给自己鼓掌

恭喜恭喜!!!

docker下载镜像新建容器打包容器打包tar加载tar相关推荐

  1. docker下载镜像并导入到生产系统

    背景: 生产系统无法连接外网,但是又需要使用docker镜像 找一台能连外网的服务器通过命令 docker pull nginx 下载镜像 docker images 查看镜像id 保存镜像到服务器指 ...

  2. docker保存镜像、打包tar、加载tar镜像

    前言 本文记录docker保存镜像.打包tar.加载tar镜像. 一.docker保存镜像 作用:在现在容器镜像上保存镜像进行打包,在另一台服务上使用:或现有的容器安装了一些库,配置了开发环境,需要保 ...

  3. Docker(三):镜像导入与导出、保存与加载、在Docker容器中安装软件

    相关阅读: Docker(一):Docker的安装与常用命令 Docker(二):Docker常用命令之镜像的创建:Dockerfile 与 commit Docker(三):Docker镜像导入与导 ...

  4. docker下载镜像太慢的解决方案

    docker下载镜像卡死或太慢 找了网上很多方法,使用镜像中国也是下载卡死. 最后一种成功了,下载速度很满意 1.先再阿里云注册账号,不需要绑定什么,直接注册就可以了,有账号的直接登录就好. 地址:h ...

  5. 04.rockey8的docker下载镜像和镜像加速

    1.docker下载镜像 个人学习笔记,有错请指出来,勿喷谢谢 docker官网下载 docker官网 搜索框输入要下载的操作系统,比如输入rockylinux,然后回车,点Tags 找到自己想要的版 ...

  6. docker下载镜像卡死或太慢

    docker下载镜像多数为国外资源,很慢,这里百度找到可以使用阿里云加速 1.找到个人阿里云的镜像加速器(要1.10.0以上版本的docker) docker -v 查看docker版本 2.到阿里云 ...

  7. 关于docker下载镜像失败问题

    关于docker下载镜像失败问题 在使用pull安装镜像时出现Error response from daemon: Get https://quay.io/v2/: net/http: reques ...

  8. flutter/Android接入友盟、阿里百川SDK,打包APK后报无法加载arr库的坑

    刚接触flutter,边学边做.其实遇到的是两个坑,但看起来像是同个问题引起的,多么痛的领悟,基础不牢.解决问题流程不对太耽误时间了. 打包APK后报无法加载友盟arr库 有篇帖子说是启用压缩导致的, ...

  9. Angular (SPA) WebPack模块化打包、按需加载解决方案完整实现

    Angular (SPA) WebPack模块化打包.按需加载解决方案完整实现 参考文章: (1)Angular (SPA) WebPack模块化打包.按需加载解决方案完整实现 (2)https:// ...

最新文章

  1. 线段树--codevs 1690 开关灯
  2. centos7下安装storm步骤
  3. Netty之自定义RPC
  4. JavaScript-操作BOM对象
  5. 4.安卓基础之Activity跳转动画
  6. HDU2191 多重背包或者01背包 xingxing在努力
  7. 删除Visual Studio最近的项目(收藏)
  8. 阿里播放器的使用Aliplayer
  9. 掺钇光纤激光器,自动解算输出波长 RP Fiber Power
  10. 马哥教育42期第四周作业
  11. 如何自己赚取csdn金币
  12. MOOC 中国大学 python爬取股票信息
  13. 拼接、比较与计算——哥德尔读后之十四
  14. Qt 开发使用VSCode
  15. 倾角传感器精度校准检测
  16. 网上店铺怎样给宝贝定价
  17. lumia flash android,Lumia830吃上棉花糖!WP手机刷安卓7.1详细教程
  18. 基于Qt的车载GPS监控系统(2)需求分析
  19. EM算法-Jensen不等式
  20. 使用PyTorch构建GAN生成对抗网络源码(详细步骤讲解+注释版)02 人脸识别 下

热门文章

  1. 分布式与传统的对比简介
  2. 《Large scale GAN training for high fidelity natural image synthesis》论文阅读记录
  3. 2021-06-27 .NET高级班 71-ASP.NET Core Identityserver4(OAuth2.0模式)
  4. lambada表达式理解
  5. 宠物诊所java项目_任务一宠物诊所项目概述.PDF
  6. linux脚本的编写
  7. 总听大佬说起数字化转型,但你真正理解什么是数字化吗?( 2017-02-14 大愚若智 译 )
  8. Android:简易的单词本(一)
  9. 软件使用小技巧-Linux疑难杂症
  10. 【莫烦Python】Python 基础教程——学习笔记