docker基本使用命令

news2025/4/20 20:03:32

一、镜像

 1、拉取镜像

docker pull busybox
docker pull nginx:1.26-alpine

2、查看本地镜像

[root@Rocky-1 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
nginx        latest    4e1b6bae1e48   18 hours ago   192MB
busybox      latest    ff7a7936e930   6 months ago   4.28MB

3、镜像搜索

[root@Rocky-1 ~]# docker search ubuntu

4、查看镜像信息

[root@Rocky-1 ~]# docker image inspect nginx
[
    {
        "Id": "sha256:4e1b6bae1e48cdbde8e6ec3e6ee42d86ad4780156e75790465bf6fb16c551c27",
        "RepoTags": [
            "nginx:latest"
        ],
        "RepoDigests": [

5、查看镜像结构

[root@Rocky-1 ~]# docker history nginx
IMAGE          CREATED        CREATED BY                                      SIZE      COMMENT
4e1b6bae1e48   18 hours ago   CMD ["nginx" "-g" "daemon off;"]                0B        buildkit.dockerfile.v0
<missing>      18 hours ago   STOPSIGNAL SIGQUIT                              0B        buildkit.dockerfile.v0
<missing>      18 hours ago   EXPOSE map[80/tcp:{}]                           0B        buildkit.dockerfile.v0
<missing>      18 hours ago   ENTRYPOINT ["/docker-entrypoint.sh"]            0B        buildkit.d

6、删除镜像

[root@Rocky-1 ~]# docker rmi nginx

7、镜像导出、导入

#镜像导出
[root@Rocky-1 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
nginx        latest    4e1b6bae1e48   18 hours ago   192MB
busybox      latest    ff7a7936e930   6 months ago   4.28MB
[root@Rocky-1 ~]# docker image save -o nginx-latest.tar.gz 
//-o指定导出路径
nginx:latest
[root@Rocky-1 ~]# ls
nginx-latest.tar.gz 
[root@Rocky-1 ~]# du -sh nginx-latest.tar.gz
188M	nginx-latest.tar.gz

#docker导入
[root@Rocky-1 ~]# docker rmi nginx
Untagged: nginx:latest
Untagged: nginx@sha256:5ed8fcc66f4ed123c1b2560ed708dc148755b6e4cbd8b943fab094f2c6bfa91e
Deleted: sha256:4e1b6bae1e48cdbde8e6ec3e6ee42d86ad4780156e75790465bf6fb16c551c27
Deleted: sha256:54e3ab6292c032a67a0b40e4efb1d1103fc0cf511adc81d76d3a38b95346f723
Deleted: sha256:a0d2387b1619ddad596155d0d9b898e646b267dfdf3cbe7771cb0cdadd5d15b5
Deleted: sha256:7f2e29110e65e19a2fd3fb6f692345c62d9d1d45fccc69f0f2e4e5282bf5a153
Deleted: sha256:6326ba543c8ab9588de067410d5ad23828fcf83d5d04719a1f88c02c9118ccfa
Deleted: sha256:164dfb151284668c54c8259d6a82900f19b157b655deafc294db044ee4da219e
Deleted: sha256:6a2a04bbab5eca06a23a05254ed5166c9a548245861f9db0e23796fb87d490a3
Deleted: sha256:ea680fbff095473bb8a6c867938d6d851e11ef0c177fce983ccc83440172bd72
[root@Rocky-1 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
busybox      latest    ff7a7936e930   6 months ago   4.28MB
[root@Rocky-1 ~]# docker load -i nginx-latest.tar.gz
ea680fbff095: Loading layer   77.9MB/77.9MB
bd903131a05e: Loading layer  118.7MB/118.7MB
9aad78ecf380: Loading layer  3.584kB/3.584kB
9e3c6e8c1e25: Loading layer  4.608kB/4.608kB
8d83f6b79143: Loading layer   2.56kB/2.56kB
ccc5aac17fc4: Loading layer   5.12kB/5.12kB
d1e3e4dd1aaa: Loading layer  7.168kB/7.168kB
Loaded image: nginx:latest
[root@Rocky-1 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
nginx        latest    4e1b6bae1e48   18 hours ago   192MB
busybox      latest    ff7a7936e930   6 months ago   4.28MB

二、容器

1、启动容器

#后台运行容器
[root@Rocky-1 ~]# docker run -d --name web1 -p 80:80 nginx
2cd9f1a6c72342fd1bbdcf86a2b5ee0b1199638906019aaeb6cdfba8c56113db

#在容器中操作
[root@Rocky-1 ~]# docker run -it --name test busybox 

#重新进入容器
[root@Rocky-1 ~]# docker attach test

#在容器中执行命令
[root@Rocky-1 ~]# docker exec -it test ifconfig

#解释参数
-d  ——  后台运行
-i  ——  交互式运行
-t  ——  打开一个中断
--name —— 指定容器名称
-p  ——  端口映射
--rm —— 容器停止自动删除容器

#创建并进入一个容器
[root@Rocky-1 ~]# docker run -d --name yes nginx
49d0e0901a9381b015fa66262fe7e14b351ff19581598d4a66c2329ea7785ef4

[root@Rocky-1 ~]# docker ps 
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS     NAMES
49d0e0901a93   nginx     "/docker-entrypoint.…"   8 seconds ago   Up 7 seconds   80/tcp    yes

[root@Rocky-1 ~]# docker exec -it yes /bin/bash
root@49d0e0901a93:/# 

2、查看容器运行信息

#查看当前运行的容器
[root@Rocky-1 ~]# docker ps 

#查看所有容器
[root@Rocky-1 ~]# docker ps -a

#查看容器运行的详细信息
[root@Rocky-1 ~]# docker inspect yes

3、停止运行容器

#停止容器
[root@Rocky-1 ~]# docker stop test

#杀死容器
[root@Rocky-1 ~]# docker kill test

#开启停止容器
[root@Rocky-1 ~]# docker start test


[root@Rocky-1 ~]# docker start yes
[root@Rocky-1 ~]# docker exec -it yes bash
root@769cd55a087e:/# ls
bin   dev		   docker-entrypoint.sh  home  lib64  mnt  proc  run   srv  tmp  var
boot  docker-entrypoint.d  etc			 lib   media  opt  root  sbin  sys  usr

4、删除容器

#-f 强制删除正在运行的容器

[root@Rocky-1 ~]# docker ps 
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS              PORTS                                 NAMES
769cd55a087e   nginx     "/docker-entrypoint.…"   14 minutes ago   Up About a minute   0.0.0.0:80->80/tcp, [::]:80->80/tcp   yes
[root@Rocky-1 ~]# docker rm yes
Error response from daemon: cannot remove container "/yes": container is running: stop the container before removing or force remove
[root@Rocky-1 ~]# docker rm -f yes
yes
[root@Rocky-1 ~]# docker ps 
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

#删除所有停止的容器
[root@Rocky-1 ~]# docker container prune 
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
0a33c8f1742e386c1c8c960ee3ef5a40f801c46fb4ed240e6e20b7c05eddbc97

Total reclaimed space: 1.093kB

5、容器内容提交

默认情况,容器被删除后,容器内的所有操作都会被清理,包括保存的文件,像永久保存就需要把动作提交,提交后会生成新的镜像,运行新镜像时会看到提交的内容

#运行一个容器创建文件
[root@Rocky-1 ~]# docker run -d --name yes nginx
49d0e0901a9381b015fa66262fe7e14b351ff19581598d4a66c2329ea7785ef4
[root@Rocky-1 ~]# docker exec -it yes /bin/bash
root@49d0e0901a93:/# ls
bin   dev		   docker-entrypoint.sh  home  lib64  mnt  proc  run   srv  tmp  var
boot  docker-entrypoint.d  etc			 lib   media  opt  root  sbin  sys  usr
root@49d0e0901a93:/# touch leefile
root@49d0e0901a93:/# ls
bin   docker-entrypoint.d   home     lib64  opt   run	sys  var
boot  docker-entrypoint.sh  leefile  media  proc  sbin	tmp
dev   etc		    lib      mnt    root  srv	usr
root@49d0e0901a93:/# exit
exit

#删除容器
[root@Rocky-1 ~]# docker rm -f yes
yes
[root@Rocky-1 ~]# docker exec -it yes /bin/bash
Error response from daemon: No such container: yes
[root@Rocky-1 ~]# docker run -d --name yes nginx
5d07fdfdd9c02c12a9e941d9b630a6022ea308ce94dfecdc7a3cdc7033db1734
[root@Rocky-1 ~]# docker exec -it yes /bin/bash

#删除容器以后创建容器,创建的文件被删除
root@5d07fdfdd9c0:/# ls
bin   dev		   docker-entrypoint.sh  home  lib64  mnt  proc  run   srv  tmp  var
boot  docker-entrypoint.d  etc			 lib   media  opt  root  sbin  sys  usr


root@5d07fdfdd9c0:/# touch lili.txt
root@5d07fdfdd9c0:/# ls
bin   docker-entrypoint.d   home   lili.txt  opt   run	 sys  var
boot  docker-entrypoint.sh  lib    media     proc  sbin  tmp
dev   etc		    lib64  mnt	     root  srv	 usr
root@5d07fdfdd9c0:/# exit
exit

#提交一个容器
[root@Rocky-1 ~]# docker commit -m "add lili.txt" yes ngin
sha256:9920ef46c9588a531501c69c91e10188e0ed71425ea455702602b7d3031456ea
[root@Rocky-1 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
ngin         latest    9920ef46c958   5 seconds ago   192MB
nginx        latest    4e1b6bae1e48   20 hours ago    192MB
busybox      latest    ff7a7936e930   6 months ago    4.28MB

6、系统中的文件与容器中的文件传输

#将容器中文件传输到系统指定目录
[root@Rocky-1 ~]# docker exec -it yes /bin/bash
root@5d07fdfdd9c0:/# ls
bin   docker-entrypoint.d   home   lili.txt  opt   run	 sys  var
boot  docker-entrypoint.sh  lib    media     proc  sbin  tmp
dev   etc		    lib64  mnt	     root  srv	 usr
root@5d07fdfdd9c0:/# pwd
/
root@5d07fdfdd9c0:/# exit
exit
[root@Rocky-1 ~]# docker cp yes:/lili.txt /mnt/
Successfully copied 1.54kB to /mnt/
[root@Rocky-1 ~]# ls /mnt/
lili.txt


#将系统文件传输到容器指定目录
[root@Rocky-1 ~]# ls
anaconda-ks.cfg  glibc-2.34.tar.gz    proxysql-2.7.0-1-centos8.x86_64.rpm
glibc-2.34       nginx-latest.tar.gz  proxysql-2.7.1-1-centos8.x86_64.rpm
[root@Rocky-1 ~]# pwd
/root
[root@Rocky-1 ~]# docker cp /root/glibc-2.34 yes:/
^CSuccessfully copied 194MB to yes:/
[root@Rocky-1 ~]# docker exec -it yes /bin/bash
root@5d07fdfdd9c0:/# ls
bin   docker-entrypoint.d   glibc-2.34	lib64	  mnt	root  srv  usr
boot  docker-entrypoint.sh  home	lili.txt  opt	run   sys  var
dev   etc		    lib		media	  proc	sbin  tmp

7、查询容器内部日志

[root@Rocky-1 ~]# docker logs yes
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
2025/04/17 10:26:40 [notice] 1#1: using the "epoll" event method
2025/04/17 10:26:40 [notice] 1#1: nginx/1.27.5
2025/04/17 10:26:40 [notice] 1#1: built by gcc 12.2.0 (Debian 12.2.0-14) 
2025/04/17 10:26:40 [notice] 1#1: OS: Linux 4.18.0-553.el8_10.x86_64
2025/04/17 10:26:40 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576
2025/04/17 10:26:40 [notice] 1#1: start worker processes
2025/04/17 10:26:40 [notice] 1#1: start worker process 29

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2338960.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

欣佰特携数十款机器人相关前沿产品,亮相第二届人形机器人和具身智能行业盛会

2025年4月15日至16日&#xff0c;备受关注的第二届中国人形机器人与具身智能产业大会已在北京成功举行。作为国内前沿科技及产品服务领域的重要参与者&#xff0c;欣佰特科技携众多前沿产品精彩亮相&#xff0c;全方位展示了其在人形机器人与具身智能领域的创新产品。 在本次大…

windows安装hadoop-3.3.5(图文教程)

本章教程,记录在Windows操作系统上安装hadoop-3.3.5的整个过程。 一、基础环境准备 JDK版本:java version “1.8.0_431” ,并且配置JAVA_HOME系统环境变量 hadoop版本:3.3.5,配置HADOOP_HOME系统环境变量。 下载地址:https://archive.apache.org/dist/hadoop/common/hado…

【eNSP实验】OSPF单区域配置

简介 OSPF&#xff08;开放最短路径优先&#xff09;是一种基于链路状态算法的内部网关协议&#xff08;IGP&#xff09;&#xff0c;用于自治系统内部动态路由。其核心机制为&#xff1a;各路由器通过泛洪链路状态通告&#xff08;LSA&#xff09;同步网络拓扑&#xff0c;构…

【技术派后端篇】ElasticSearch 实战指南:环境搭建、API 操作与集成实践

1 ES介绍及基本概念 ElasticSearch是一个基于Lucene 的分布式、高扩展、高实时的基于RESTful 风格API的搜索与数据分析引擎。 RESTful 风格API的特点&#xff1a; 接受HTTP协议的请求&#xff0c;返回HTTP响应&#xff1b;请求的参数是JSON&#xff0c;返回响应的内容也是JSON…

鸿蒙语言基础

准备工作 去鸿蒙官网下载开发环境 点击右侧预浏览&#xff0c;刷新和插销按钮&#xff0c;插销表示热更新&#xff0c;常用按钮。 基础语法 string number boolean const常量 数组 let s : string "1111"; console.log("string", s);let n : number …

在 Amazon Graviton 上运行大语言模型:CPU 推理性能实测与调优指南

引言 在生成式 AI 浪潮中&#xff0c;GPU 常被视为大模型推理的唯一选择。然而&#xff0c;随着 ARM 架构的崛起和量化技术的成熟&#xff0c;CPU 推理的性价比逐渐凸显。本文基于 Amazon Graviton 系列实例与 llama.cpp 工具链&#xff0c;实测了 Llama 3、DeepSeek 等模型的…

每日定投40刀BTC(14)20250409 - 20250419

定投 坚持 《磨剑篇》浮生多坎壈&#xff0c;志业久盘桓。松柏凌霜易&#xff0c;骅骝涉险难。砺锋临刃缺&#xff0c;淬火取金残。但使精魂在&#xff0c;重开万象端。

服务治理-服务注册

一个服务在真实项目部署的时候&#xff0c;如果压力较大&#xff0c;会做多实例部署。 在IDEA里面做多实例部署的话&#xff0c;只需要配置多个启动项。

NestJS——多环境配置方案(dotenv、config、@nestjs/config、joi配置校验)

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1f4c3;个人状态&#xff1a; 研发工程师&#xff0c;现效力于中国工业软件事业 &#x1f680;人生格言&#xff1a; 积跬步…

MongoDB导出和导入数据

安装mongodump工具 参考文章mongodump工具安装及使用详解_mongodump安装-CSDN博客 MongoDB导入导出和备份的命令工具从4.4版本开始不再自动跟随数据库一起安装&#xff0c;而是需要自己手动安装。 官方网站下载链接&#xff1a;Download MongoDB Command Line Database Tools …

Serving入门

ServingHelloWorld Serverless 一个核心思想就是按需分配&#xff0c;那么 Knative 是如何实现按需分配的呢&#xff1f;另外在前面已经了解到 Knative Serving 在没有流量的时候是可以把Pod 缩容到零的。接下来就通过一些例子体验一下 Knative 缩容到零和按需自动扩缩容的能力…

【HDFS入门】HDFS数据冗余与容错机制解析:如何保障大数据高可靠存储?

目录 1 HDFS冗余机制设计哲学 1.1 多副本存储策略的工程权衡 1.2 机架感知的智能拓扑算法 2 容错机制实现原理 2.1 故障检测的三重保障 2.2 数据恢复的智能调度 3 关键场景容错分析 3.1 数据中心级故障应对 3.2 数据损坏的校验机制 4 进阶优化方案 4.1 纠删码技术实…

UE学习记录part19

231 insect: insect enemy type 创建dead动画资源 往insect head上添加socket 创建攻击root motion动画。motion warping需要与root motion合作使用 为buff_blue创建物理资产 设置simulate physic使sinsect死亡后能落到地板上而不是漂浮在空中&#xff0c;要将die函数设置为 -…

运行后allure报告没有自动更新(已解决)

pycharm直接运行run.py文件&#xff0c; allure生成的报告都没有更新&#xff0c;需要手动删除旧报告后再次运行才可以 pytest.ini [pytest]testpaths testcases/ addopts --alluredir ./report/result --clean-alluredir run.py主要代码 if __name__ "__main__&qu…

微信小程序 时间戳与日期格式的转换

1. 微信小程序 时间戳与日期格式的转换 微信小程序中的时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。例如现在北京时间2015-12-31 17:00:00的时间戳是1451552400&#xff0c;就是指从北京时间1970-01-01 08:00:00到…

【深度学习—李宏毅教程笔记】Transformer

目录 一、序列到序列&#xff08;Seq2Seq&#xff09;模型 1、Seq2Seq基本原理 2、Seq2Seq模型的应用 3、Seq2Seq模型还能做什么&#xff1f; 二、Encoder 三、Decoder 1、Decoder 的输入与输出 2、Decoder 的结构 3、Non-autoregressive Decoder 四、Encoder 和 De…

【人工智能学习-01-01】20250419《数字图像处理》复习材料的word合并PDF,添加页码

前情提要 20250419今天是上师大继续教育人工智能专升本第一学期的第一次线下课。 三位老师把视频课的内容提炼重点再面授。&#xff08;我先看了一遍视频&#xff0c;但是算法和图像都看不懂&#xff0c;后来就直接挂分刷满时间&#xff0c;不看了&#xff09; 今天是面对面授…

使用 Docker 安装 Elastic Stack 并重置本地密码

Elastic Stack&#xff08;也被称为 ELK Stack&#xff09;是一个非常强大的工具套件&#xff0c;用于实时搜索、分析和可视化大量数据。Elastic Stack 包括 Elasticsearch、Logstash、Kibana 等组件。本文将展示如何使用 Docker 安装 Elasticsearch 并重置本地用户密码。 ###…

利用 Deepseek 和 Mermaid 画流程图

提示词 你是一个产品经理&#xff0c;请绘制一个报名比赛的流程图&#xff0c;要求生成符合Mermaid语法的代码&#xff0c;具体要求如下&#xff1a; 1.注册账号 2.填写报名信息 3.参加比赛 4.查看比赛结果 生成的结果 flowchart TDA([开始]) --> B[注册账号]B --> C{账…

学习笔记: Mach-O 文件

“结构决定性质,性质决定用途”。如果不了解结构,是很难真正理解的。 通过一个示例的可执行文件了解Mach-O文件的结构 Mach-O基本结构 Header: &#xff1a;文件类型、目标架构类型等Load Commands&#xff1a;描述文件在虚拟内存中的逻辑结构、布局Data: 在Load commands中…