Docker之镜像与容器的相关操作

这篇具有很好参考价值的文章主要介绍了Docker之镜像与容器的相关操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Docker之镜像与容器的相关操作,Docker,docker,运维,容器

目录

 一、Docker镜像

搜索镜像

下载镜像 

查看宿主机上的镜像

删除镜像 

二、Docker容器

创建容器 

查看容器

启停容器

删除容器

进入容器

创建/启动/进入容器

退出容器

查看容器内部信息


一、Docker镜像

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

搜索镜像

docker search 镜像名称

例如:

docker search centos

Docker之镜像与容器的相关操作,Docker,docker,运维,容器

下载镜像 

docker pull 镜像

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

# 未指定版本一般会使用latest(最新的)版本
docker pull centos
# 或者直接指定版本
docker pull centos:版本号

查看宿主机上的镜像

docker images

Docker之镜像与容器的相关操作,Docker,docker,运维,容器

/var/lib/docker 为 docker 默认安装目录

# 切换目录
cd /var/lib/docker/containers 
# 查看目录下的文件
ls

Docker之镜像与容器的相关操作,Docker,docker,运维,容器

删除镜像 

docker rmi 镜像ID/标签

例如:

# 根据镜像ID删除
docker rmi feb5d9fea6a5
# 根据镜像标签(版本)
docker rmi hello-world:latest 或 docker rmi hello-world:版本号

Docker之镜像与容器的相关操作,Docker,docker,运维,容器

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

强制删除镜像:  

docker rmi -f centos:版本号 

-f, -force: 强制删除镜像, 即使有容器依赖它。

Docker之镜像与容器的相关操作,Docker,docker,运维,容器

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

二、Docker容器

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

通俗理解:类 -> 实例,镜像 -> 容器

创建容器 

# 方式一:创建容器不指定容器名,由Docker容器随机生成
docker create -it centos:latest
# 方式二:创建容器并指定容器名
docker create -it --name tomcat01 centos:latest

Docker之镜像与容器的相关操作,Docker,docker,运维,容器

命令说明:

命令 说明
create 创建docker容器关键字
-it 是两个参数,-i:interactive容器具有交互功能,-t:容器将提供伪终端
--name 指定生成的容器的名字,允许空,如果不指定会自动生成
centos:latest 即镜像名字:版本(或镜像ID),将使用指定镜像创建容器。另外,Docker会检查本地是否存在指定的镜像,不存在就从公有仓库下载。

查看容器

查看当前运行的容器:

docker ps

查看所有容器:

docker ps -a

Docker之镜像与容器的相关操作,Docker,docker,运维,容器

启停容器

# 启动容器
docker start 容器ID或name
# 停止容器
docker stop 容器ID或name
# 重启容器
docker restart 容器ID或name 

Docker之镜像与容器的相关操作,Docker,docker,运维,容器

删除容器

docker rm 容器ID

Docker之镜像与容器的相关操作,Docker,docker,运维,容器

主要支持的选项包括:

选项 说明
-f, --force=false 是否强行终止并删除一个运行中的容器
-l, --link=false 删除容器的连接 ,但保留容器
-v, --volumes=false 删除容器挂载的数据卷

删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了)

docker rm $(docker ps -aq)

停止所有容器并删除容器:

docker stop $(docker ps -aq) && docker rm $(docker ps -aq)

还可以根据容器的状态删除,删除Exited状态的容器:

docker rm $(docker ps -qf status=exited)

Docker 1.13版本以后,可以使用 docker containers prune 命令,删除孤立的容器:

docker container prune

进入容器

docker exec -it 容器ID/容器NAME /bin/bash
# 简写方式:
docker exec -it 容器ID/容器NAME bash

 注意:只有在容器启动的时候即UP状态才能进入容器终端

创建/启动/进入容器

run 命令等于 create + start。

  • 创建+启动+进入容器:

    docker run -it centos:latest /bin/bash
  • 创建容器,通过 -p 标记指定端口映射规则,可以指定多个:(注意:此处p是小写)

    docker run -it -p 7001:8001 centos:latest /bin/bash
  • 使用 -P 标记时, Docker 会随机映射一个 49000~49900 的端口:(注意:此处P是大写)

    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 后台运行模式

退出容器

退出时如果想继续运行容器:按顺序按【ctrl+p】,【ctrl+q】

如果不想继续运行:按【ctrl+d】或输入exit

查看容器内部信息

  • 进入容器内部获取信息

首先,请先进入容器:

docker exec -it 容器ID/容器NAME /bin/bash

如果此时已进入容器内部,可分别执行hostname、ip addr、env这三个命令可以获取相关信息:

# 查看主机名
hostname
# 查看IP地址
ip addr
# 查看环境变量
env

Docker之镜像与容器的相关操作,Docker,docker,运维,容器

  • 在宿主机,执行docker exec命令
# 获取容器的hostname
docker exec 容器ID/容器NAME hostname
# 获取容器ip地址
docker exec 容器ID/容器NAME ip addr
# 获取容器环境变量
docker exec 容器ID/容器NAME env
  • 在宿主机,使用 docker inspect 命令

推荐使用 docker inspect 来获取信息,这个命令会返回一个 json 字符串,里面以 key-value 的格式准备了该容器相关的信息,内容十分丰富,可以一次性取得全部内容,也可以返回指定 key 对应的信息。文章来源地址https://www.toymoban.com/news/detail-845650.html

docker inspect 容器ID/容器NAME

到了这里,关于Docker之镜像与容器的相关操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker操作Mysql镜像容器

    参数: -p 3306:3306:将容器的3306端口映射到主机的3306端口 --name:给容器命名 -v /mydata/mysql/log:/var/log/mysql:将配置文件挂载到主机/mydata/..(映射配置文件) -e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码为root 安装启动完成后再次输入 docker ps -a (查看所有容器) 查看 docker 容器会发

    2024年02月15日
    浏览(42)
  • 『 云原生·Docker』Docker容器相关操作(二)

    本系列主要分为以下六大部分,正在更新中,尽请期待! 『 云原生·生之门』 『 云原生·前置知识』 『 云原生·Docker』 『 云原生·Kubernetes』 『 云原生·KubeSphere』 『 云原生·DevOps』 🚩点击关注本专栏 提示:已经更新的或正在更新的文章前面打勾了哈! 容器是 Docker的另一个

    2024年02月06日
    浏览(46)
  • linux下docker安装、镜像下载、镜像基础操作、容器基础操作

    目录 一、环境准备 1、开启虚拟化 2、关闭防火墙 3、yum仓库获取阿里源(清华、京东都可以) 4、确保能ping到外网 二、安装docker 1、yum安装docker 2、启动docker并设置开机自启 3、安装docker-ce阿里镜像加速器 三、docker基本操作 1、查看版本 2、查看详细信息 四、镜像操作 1、do

    2024年02月06日
    浏览(53)
  • Docker容器与虚拟化技术:Docker架构、镜像操作

    目录 一、理论 1.Doker概述 2.Docker核心概念 3.Docker安装 4.Docker的镜像管理命令 二、实验 1.Docker安装 2.查看Docker信息 3.Docker的镜像管理命令 三、问题 1.如何注册Docker账号  2.如何设置Docker公共存储库 四、总结 (1) IT架构 裸金属 → 虚拟机 → 容器→ 函数化、代码化 云计算涌现出很

    2024年02月10日
    浏览(54)
  • Docker的安装及镜像、容器的常用操作

    目录 1、Docker的安装 1.1.前提条件 1.2.yum安装docker 1.3.Docker启停操作 1.4.Docker镜像源更改  1.5.验证Docker启动镜像 2、Docker常用操作 2.1镜像相关操作 列出镜像列表 查找镜像 拉取镜像 设置镜像标签 删除镜像 2.2容器相关操作 制作容器 查看容器 查看容器网络端口映射 容器start/sto

    2024年02月13日
    浏览(35)
  • Docker入门安装、镜像与容器下载 —— 基本操作

    目录 前言 Docker 1. docker介绍 2. docker安装 3. docker基本使用 3.1 镜像下载 3.2 操作容器         虚拟机:基于主机(物理机或虚机)的多服务实例。 在该模式下,软件开发人员可以提供单个或多个物理机或虚机,同时在每个主机上运行多个服务实例。 此模式有几种不同的实现形式

    2024年01月17日
    浏览(81)
  • 逸学Docker【java工程师基础】2.Docker镜像容器基本操作+安装MySQL镜像运行

    在这里我们的应用程序比如redis需要构建成镜像, 它作为一个Docker文件就可以进行 构建 ,构建完以后他是在 本地的 ,我们可以 推送 到镜像服务器,逆向可以 拉取 到上传的镜像,或者说我们可以保存为 压缩包 进行 相互传递 。 在本地的镜像可以传来传去,本身也可以查看

    2024年02月01日
    浏览(54)
  • 【linux】docker基本概念和基础指令操作(镜像、容器)

    docker 镜像 images xxxx(名称):xxxx(版本号) 每一个image可以生成若干个 容器 (container),所有用相同镜像生成的容器环境完全一样 每一个容器都是一个完全独立的云端服务器

    2024年02月01日
    浏览(55)
  • Docker关于下载,镜像配置,容器启动,停止,查看等基础操作

    关于什么是Docker容器?我们该如何去简单化的将他理解? 虚拟化的革新发展,进而带动当代云原生等一些新概念的高速发展,进而docke体现了他的先进性、便捷性,操作简单性; Docker容器是基于linux容器的技术,在此基础上进一步的封装更正,让用户不用去担心容器的管理,

    2024年02月11日
    浏览(45)
  • SpringCloud微服务 【实用篇】| Docker镜像、容器、数据卷操作

    目录 一:Docker基本操作 1. 镜像操作 镜像相关命令 2. 容器操作 容器相关命令 3. 数据卷(容器数据管理) 数据卷 操作数据卷 挂载数据卷 挂载的方式区别 前些天突然发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,感兴趣的同学可以进行学习人工智能学习 镜像相

    2024年02月04日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包