Docker 容器操作

news2024/12/23 14:57:38

容器创建   

就是将镜像加载到容器的过程。
新创建的容器默认处于停止状态,不运行任何程序,需要在其中发起一个进程来启动容器。

格式:docker create [选项] 镜像
常用选项:
-i:让容器开启标准输入
-t:让 Docker 分配一个伪终端 tty
-it :合起来实现和容器交互的作用,运行一个交互式会话 shell 

docker create -it nginx:latest /bin/bash

查看容器的运行状态
docker   ps   -a                   -a 选项可以显示所有的容器

                                           不加-a只显示正在运行的容器

启动容器
格式:docker start 容器的ID/名称
docker start  dd00c7c0711e
docker ps -a

创建并启动容器
可以直接执行 docker run 命令, 等同于先执行 docker create 命令,再执行 docker start 命令。

注意:容器是一个与其中运行的 shell 命令共存亡的终端,命令运行容器运行, 命令结束容器退出。

  • docker 容器默认会把容器内部第一个进程,也就是 pid=1 的程序作为docker容器是否正在运行的依据
  • 如docker容器中 pid = 1 的进程挂了,那么docker容器便会直接退出,也就是说Docker容器中必须有一个前台进程,否则认为容器已经挂掉

 用 docker run 创建容器时, Docker 在后台的标准运行过程

  1. 检查本地是否存在指定的镜像。当镜像不存在时,会从公有仓库下载;
  2. 利用镜像创建并启动一个容器;
  3. 分配一个文件系统给容器,在只读的镜像层外面挂载一层可读写层;
  4. 从宿主主机配置的网桥接口中桥接一个虚拟机接口到容器中;
  5. 分配一个地址池中的 IP 地址给容器;
  6. 执行用户指定的应用程序,执行完毕后容器被终止运行。

docker run命令流程图: 

docker在客户端服务端流程:

docker run centos:7 /usr/bin/bash -c ls /
docker ps -a               会发现创建了一个新容器并启动执行一条 shell 命令,之后就停止了 

在后台持续运行 docker run 创建的容器
需要在 docker run 命令之后添加   -d   选项

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

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

docker ps -a                    可以看出容器始终处于 UP,运行状态

创建容器并持续运行容器

docker run -itd --name centos7 centos:7 /bin/bash  

终止容器运行
格式:docker stop 容器的ID/名称

容器的进入
使用 docker exec 命令进入运行着的容器。

格式:docker exec -it  容器ID/名称  /bin/bash
-i 选项表示让容器的输入保持打开;
-t 选项表示让 Docker 分配一个伪终端。
 

docker start  ..  进入容器前,确保容器正在运行

exit                退出容器后,容器仍在运行 

docker run -it centos:7 bash    

不加 -d 选项会创建容器后直接进入容器,但是退出容器,容器也会停止 

 

docker 容器生命周期

docker 容器 七个状态

  1. created:已创建  还未运行的容器
  2. running:正在运行中的容器
  3. restarting:容器正在重启中
  4. removeing:容器正在迁移中
  5. paused:已暂停状态的容器
  6. exited:停止状态的容器
  7. dead:   死亡 主要是操作系统出现异常 或 断点关机等有可能引发dead状态,但是 不很常见

 怎么把宿主机的文件传入到容器内部:

cp 原文件路径目标文件路径

docker cp lisi.txt centos7:/opt/

 

 从容器复制文件到主机:

 

容器的导出与导入

用户可以将任何一个 Docker 容器从一台机器迁移到另一台机器。

用docker export 命令将已经创建好的容器导出为文件,无论这个容器是处于运行状态还是停止状态均可导出

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

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


                 

cat centos7.tar | docker import - centos7:test          导入后会生成镜像,但不会创建容器

删除容器

格式:docker rm [-f] 容器ID/名称
docker stop e1988d835e97
docker rm     e1988d835e97           #删除已经终止状态的容器

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

docker ps -a | awk 'NR>=2{print "docker stop "$1}' | bash            #批量停止容器
docker ps -a | awk 'NR>=2{print $1}'| xargs docker stop

docker ps -a | awk 'NR>=2{print "docker rm "$1}' | bash                #批量删除所有容器
docker ps -a | awk 'NR>=2{print $1}'| xargs docker rm

docker images | awk 'NR>=2{print "docker rmi "$3}'| bash            #批量删除镜像
docker images | grep none | awk '{print $3}' | xargs docker rmi        #删除none镜像

docker rm $(docker ps -a -q)        #批量清理后台停止的容器

命令总结

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

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

相关文章

电商架构:系统设计+表设计

如有不对,请指正 欢迎评论区交流 需要哪些系统 商品系统、订单系统、权限系统、审核系统等。 商品系统 订单系统 审核系统 权限系统 参考 基于电商中台架构-商品系统设计(一) 附件

APQC是美国生产力与质量中心

APQC简介 APQC是美国生产力与质量中心( American Productivity and Quality Center)的简称。该中心自1991年开始研究开发流程分类框架(简称PCF),1992年发布PCF1.0。PCF将运营与管理等流程汇总成12项企业级流程类别,每个流程类别包…

win10安装pytorch + cuda

1:下载cuda工具cuda-toolkit 地址:https://developer.nvidia.com/cuda-toolkit-archive 2:一路向下:安装 3:配置环境变量 path 环境变量中添加: 4:验证cuda是否安装成功: nvcc -…

计算机网络——初识网络

一、局域网与广域网 1.局域网(LAN) 局域网:即Local Area Network,简称LAN。Local即标识了局域⽹是本地,局部组建的⼀种私有⽹络。局域⽹内的主机之间能⽅便的进⾏⽹络通信,⼜称为内⽹;局域⽹和…

idea No versioned directories to update were found

idea如何配置svn以及svn安装时需要注意什么 下载地址:https://112-28-188-82.pd1.123pan.cn:30443/download-cdn.123pan.cn/batch-download/123-820/3ec9445a/1626635-0/3ec9445a25ba365a23fc433ce0c16f34?v5&t1714358478&s171435847804276f7d9249382ba512…

RCE复习(ctfhub上)

一、rce漏洞概述 在Web应用开发中为了灵活性、简洁性等会让应用调用代码执行函数或系统命令执行函数处理,若应用对用户的输入过滤不严,容易产生远程代码执行漏洞或系统命令执行漏洞。 二、常见RCE漏洞函数 1.系统命令执行函数 system():能将…

LeetCode 94.二叉树的中序遍历

题目描述 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[1,3,2]示例 2: 输入:root [] 输出:[]示例 3: 输入:root [1] …

【c++】----STL简介string

目录 1. 什么是STL 2. STL的版本 3. STL的六大组件 4.STL的缺陷 5.string类 1. 为什么学习string类? 6.string类的常用接口说明(下面我们只讲解最常用的接口) 1.string 常见构造 2.string类的遍历 iterator 迭代器遍历 (…

uniapp制作安卓原生插件踩坑

top. fireEvent失效的问题 本来我项目跑的好好的,结果放到公司项目半天收不到回调 结果是因为vue3 方法 onTel会变成on-tel 全部改小写才行了 1.uniapp和Android工程互相引用讲解 uniapp原生Android插件开发入门教程 (最新版)_uniapp and…

Java设计模式 _创建型模式_工厂模式(普通工厂和抽象工厂)

一、工厂模式 属于Java设计模式创建者模式的一种。在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 二、代码示例 场景:花店有不同的花,通过工厂模式来获取花。 1、普通工厂模式 逻辑步骤&#…

AnaTraf网络流量分析仪:实时监控、故障排除和性能优化的必备工具

AnaTraf网络流量分析仪是一款高性能的实时网络流量分析工具,用于全流量回溯分析、网络流量监控、网络性能分析、快速排除网络故障。本文将为您详细介绍AnaTraf的功能和优势,帮助您了解如何通过该设备进行网络流量监控、故障排除和性能优化。 一、AnaTraf…

修改CentOS ifcfg_ens33文件,提示 file read only/只读

没有用root用户去修改,需要切换到root用户: su root 输入root密码,切换到root用户修改。 另一个原因:打开文件的时候有临时文件存在,这个时候需要按E才能确认编辑,否则是默认以只读方式打开。 参考《vim编…

Gateway结合Nacos使用!!!

一、本地结合使用 1. 引入依赖 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> 2. bootstarp.yml配置文件 如果Nacos中配置使用yaml格式&…

Python 0基础_变现_38岁_day 15(匿名函数)

匿名函数&#xff1a; 不用定义函数名&#xff0c;无需使用def关键字&#xff0c;使用lambda将函数写成一行&#xff1b;#使用匿名函数定义一个两个数字相加的函数add lambda x,y : xy #使用变量接收匿名函数的内容&#xff0c;且变量名作为调用函数的变量名&#xff1…

Linux软件包管理器——yum

文章目录 1.什么是软件包1.1安装与删除命令1.2注意事项1.3查看软件包1.3.1注意事项&#xff1a; 2.关于rzsz3.有趣的Linux下的指令 -sl 1.什么是软件包 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 但是这样太麻烦了, 于是有些人把一…

Django之搭配内网穿透

一&#xff0c;安装coplar 二&#xff0c;开启8087的内网穿透 三&#xff0c;setting.py中加入如下配置&#xff1a; ALLOWED_HOSTS [*]CSRF_TRUSTED_ORIGINS ["https://localhost:8087", "http://localhost:8087"]四&#xff0c;启动项目 五&#xff…

rust疑难杂症解决

rust疑难杂症解决 边碰到边记录&#xff0c;后续可能会逐步增加&#xff0c;备查 cargo build时碰到 Blocking waiting for file lock on package cache 原因是Cargo 无法获取对包缓存的文件锁&#xff0c; 有时vscode中项目比较多&#xff0c;如果其中某些库应用有问题&…

Spring快速入门!(超详细)——工厂模式

GOF之工厂模式 设计模式&#xff1a;一种可以被重复利用的解决方案。GoF&#xff08;Gang of Four&#xff09;&#xff0c;中文名——四人组。《Design Patterns: Elements of Reusable Object-Oriented Software》&#xff08;即《设计模式》一书&#xff09;&#xff0c;19…

红米A2/A2+/POCO C51手机秒解BL+快速获取root权限+解谷歌锁刷机救砖教程

红米A2/A2/POCO C51手机是目前小米公司针对于国外用户的1个独立的品牌&#xff0c;或者和国内的红米手机都非常相似&#xff0c;几款手机由于硬件非常接近&#xff0c;我们这里将其放在一起和大家介绍而从他们的代号中我们可以得知&#xff0c;目前A2/POCO的代号为water&#x…

Ubuntu22.04安装freecad、ODAFileConverter

一、背景 作为程序界的萌新&#xff0c;不只写代码&#xff0c;还需要临危受命看看CAD图。 手上的一份CAD图是DWG格式的&#xff0c;先得找款看DWG格式文件的软件&#xff0c;很快找到了“CAD迷你看图”&#xff0c;这款软件直接傻瓜式安装&#xff0c;不是本文重点。 本文重…