docker镜像操作

news/2025/2/16 0:17:05/

目录

一、Docker镜像操作

1、搜索镜像

2、获取镜像

3、查看镜像

3.1 查看下载到本地的所有镜像

3.2 查看下载的镜像文件信息

3.3 查看镜像详细信息

4、为本地的镜像添加新的标签

5、镜像导出导入到本地

5.1 导出镜像,将镜像保存成为本地文件

5.2 导入镜像,将镜像文件导入到镜像库中

6、删除镜像

7、上传镜像

二、Docker 容器操作

1、容器创建——docker create

2、启动容器——docker start

3、启动容器(一次性执行)—— docker run

4、查看容器ip地址——docker inspect

5、进入容器——docker exec

6、容器导出/导入——docker export

7、删除容器——docker rm -f

8.#删除退出状态的容器


一、Docker镜像操作

1、搜索镜像

格式:docker search 关键字

docker search nginx

2、获取镜像

格式:docker pull 仓库名称[:标签]

#如果下载镜像时不指定标签,则默认会下载仓库中最新版本的镜像,即选择标签为 latest 标签。

docker pull nginx(获取镜像)

3、查看镜像

3.1 查看下载到本地的所有镜像

docker images

REPOSITORY:镜像属于的仓库;

TAG:镜像的标签信息,标记同一个仓库中的不同镜像;

IMAGE ID:镜像的唯一ID 号,唯一标识一个镜像;

CREATED:镜像创建时间;

VIRTUAL SIZE:镜像大小;

3.2 查看下载的镜像文件信息

镜像下载后存放在 /var/lib/docker

cat /var/lib/docker/image/overlay2/repositories.json

3.3 查看镜像详细信息

根据镜像的唯一标识 ID 号,获取镜像详细信息

docker inspect 镜像id或名称

4、为本地的镜像添加新的标签

格式:docker tag 名称:[标签] 新名称:[新标签]

docker tag nginx:latest nginx:web

docker images

5、镜像导出导入到本地

5.1 导出镜像,将镜像保存成为本地文件

格式:docker save -o 存储文件名 存储的镜像

docker save -o nginx nginx:latest                    #存出镜像命名为nginx存在当前目录下

ls -lh

5.2 导入镜像,将镜像文件导入到镜像库中

格式:

docker load < 存出的文件

或者

docker load -i 存出的文件

docker load < nginx

6、删除镜像

格式:

docker rmi 仓库名称:标签                       #当一个镜像有多个标签时,只是删除其中指定的标签

或者

docker rmi 镜像ID号                              #会彻底删除该镜像

注意:如果该镜像已经被容器使用,正确的做法是先删除依赖该镜像的所有容器,再去删除镜像。

docker rmi nginx:web

7、上传镜像

默认上传到 docker Hub 官方公共仓库,需要注册使用公共仓库的账号。

可以使用 docker login 命令来输入用户名、密码和邮箱来完成注册和登录。

在上传镜像之前,还需要先对本地镜像添加新的标签,然后再使用 docker push 命令进行上传。

docker tag nginx:latest skymarch/nginx:ly               #添加新的标签

docker login                                                          #登录公共仓库

Username:

password:

docker push skymarch/nginx:ly                                     #上传镜像

docker tag nginx:latest skymarch/nginx:ly               #添加新的标签

docker login                                                          #登录公共仓库

Username:

password:

docker push skymarch/nginx:ly                                     #上传镜像

二、Docker 容器操作

1、容器创建——docker create

新创建的容器默认处于停止状态,不运行任何程序,需要再其中发起一个进程来启动容器

格式:

docker create [选项] 镜像

常用选项:

-i:让容器开启标准输入

-t:让Docker分配一个伪终端tty

-it:合起来实现和容器交互的作用,运行一个交互式会话shell

docker create -it nginx:latest /bin/bash

2、启动容器——docker start

docker start 0ebc0ab70488

ps -a

3、启动容器(一次性执行)—— docker run

#加 -d 选项让 Docker 容器以守护形式在后台运行。并且容器所运行的程序不能结束。

#示例1:

docker run -itd nginx:latest /bin/bash

#示例2:执行后退出

docker run centos:7 /usr/local/bash -c ls -lh /  

#示例3:执行后不退出,以守护进程方式执行持续性任务

docker run -d centos:7 /usr/local/bash -c "while true;do echo lcdb;done"

4、查看容器ip地址——docker inspect

#格式:docker inspect 容器id

docker ps -a   #先查看运行时容器的id

docker inspect ea467b771ef7

5、进入容器——docker exec

进入容器的容器状态必须是up状态

和shell 是两种运行模式

docker run -it会创建前台进程,但是会在输入exit后终止进程。

docker attach会通过连接stdin,连接到容器内输入输出流,会在输入exit后终止容器进程

docker exec -it 会连接到容器,可以像SSH一样进入容器内部,进行操作,可以通过exit退出容器,不影响容器运行。

#需要进入容器进行命令操作时,可以使用 docker exec 命令进入运行着的容器。

#格式:docker exec -it 容器ID/名称 /bin/bash

-i 选项表示让容器的输入保持打开;

-t 选项表示让 Docker 分配一个伪终端。

#示例:进入(三种方式)

docker run -itd centos:7 /bin/bash  #先运行容器

docker ps -a

  • 使用run进入,可以使用ctrl+d退出,直接退出终端

docker run -it centos:7 /bin/bash

②想永久性进入,退出后还是运行状态,用docker exec

docker ps -a

docker exec -it b99e0771c4e1  /bin/bash

③docker attach,会通过连接stdin,连接到容器内输入输出流,公在输入exit后终止容器进程

5.1 使用run进入,是一次性进入

5.2 永久性进入,用docker exec

6、容器导出/导入——docker export

用户可以将任何一个 Docker 容器从一台机器迁移到另一台机器。在迁移过程中,可以使用docker export 命令将已经创建好的容器导出为文件,无论这个容器是处于运行状态还是停止状态均可导出。可将导出文件传输到其他机器,通过相应的导入命令实现容器的迁移。

#导出格式:docker export 容器ID/名称 > 文件名

docker export b99e0771c4e1 > centos_7

#导入格式:cat 文件名 | docker import – 镜像名称:标签

法①

docker import centos_7  centos:v1 #导入后会生成镜像,但不会创建容器

法②

cat centos_7 |docker import - centos:v2

导出:

导入:

7、删除容器——docker rm -f

#格式:docker rm [-f] 容器ID/名称

1.#不能删除运行状态的容器,只能-f强制删除,或者先停止再删除

docker rm 3224eb044879

2.#已经退出的容器,可以直接删除

docker rm 1270a6791069

3.#基于名称匹配的方式删除

docker rm -f distracted_panini

4.#删除所有运行状态的容器

docker rm -f `docker ps -q`

5.#删除所有容器

docker rm -f `docker ps -aq`

6.#有选择性的批量删除 (正则匹配)

docker ps -a l awk ' {print "docker rm "$1}'l bash

8.#删除退出状态的容器

for i in `dockef ps -a l grep -i exit / awk '{print $1}' '; do docker rm -f $i;done


http://www.ppmy.cn/news/787295.html

相关文章

重新制作Docker镜像

获取官方指定镜像 如果速度很慢&#xff0c;可以更换仓库加速&#xff0c;比如Mac本地配置&#xff1a; "registry-mirrors": ["http://docker.mirrors.ustc.edu.cn","http://hub-mirror.c.163.com" ] 拉取镜像命令及输出&#xff1a; # 命令…

制作树莓派镜像

方法1&#xff1a;软件Win32Diskimager&#xff0c;pc win系统就可以操作。将带树莓派镜像的sd卡插入电脑&#xff0c;在任意位置新建一个.img结尾的文件&#xff0c;打开Win32Diskimager选中刚刚新建的img文件和sd卡驱动&#xff0c;点击read就可以制作&#xff0c;操作方便&a…

Django+Celery学习笔记

DjangoCelery学习笔记 DJANGO中使用CELERY实现定时任务(用DJCELERY) https://www.cnblogs.com/wumingxiaoyao/p/8521567.html Django中celery机制的使用总结 https://blog.csdn.net/Enjolras_fuu/article/details/108513357 代码 https://github.com/furuiyang0715/celery_le…

第七章:YOLO v2网络详解

(目标检测篇&#xff09;系列文章目录 第一章:R-CNN网络详解 第二章:Fast R-CNN网络详解 第三章:Faster R-CNN网络详解 第四章:SSD网络详解 第五章:Mask R-CNN网络详解 第六章:YOLO v1网络详解 第七章:YOLO v2网络详解 第八章:YOLO v3网络详解 文章目录 系列文章目录技…

中企海外周报 | 银联业务拓展到171个国家和地区;徐工集团向非洲客户提供定制化设备...

要闻必读 1、银联业务拓展到171个国家和地区 2、徐工集团向非洲客户提供定制化设备 3、晶科能源将在柬埔寨建大型太阳能发电站 4、启明医疗完成对脑保护装置生产商Keystone Heart的收购 5、2018年美图三款海外产品收入和用户增长显著 银联业务拓展到171个国家和地区 银联的足迹…

商家自建流量池:10种微信引流的方法,值得学习社群营销的商家收藏 !

社群电商的客流量有两种&#xff1a;第一种叫自带流量&#xff0c;第二种叫自建流量。我们讲的内容营销或视频直播营销&#xff0c;往往属于前者自带流量&#xff0c;即少数的意见领袖、达人、网红、知名品牌。但对于大部分的企业和商家来说&#xff0c;自带流量非常不现实。而…

理发店与 App 定价模型

【作者介绍】 KyXu&#xff0c;四年经验全职独立开发者&#xff0c;17 款独立开发上架作品。 长期致力于&#xff0c;帮助工程师获得工资以外的第二份收入、拥有自己的产品。 【文章介绍】 这篇文章&#xff0c;来从一个另类一点的角度来讲 App 的定价模型相关的内容&#xff0…

实战CSS:小米商城静态实现

目标: 实现小米商城的静态实现 效果: 原版: 代码: html <!DOCTYPE html> <html lang"ch"> <head><meta charset"UTF-8"><title>小米商城 - 小米9 Pro、Redmi K30、小米MIX Alpha&#xff0c;小米电视官方网站</titl…