Docker容器操作的命令

news/2024/7/27 7:42:06/文章来源:https://blog.csdn.net/2301_79757379/article/details/136688767

##### 1.4Docker容器操作

Docker 容器和文件夹很类似,一个Docker容器包含了所有的某个应用运行所需要的环境。每一个 Docker 容器都是从 Docker  镜像创建的。Docker 容器可以运行、启动、停止、移动、删除、暂停(挂起)。每一个 Docker 容器都是独立和安全的应用平台,Docker 容器是  Docker 的运行一部分。

1、容器的创建与启动

命令格式:

docker create [选项] 镜像 运行的程序

常用选项:

-i    ------   让容器的输入保持打开状态

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

-d-------后台运行

```

[root@docker2 ~]# docker create -it nickistre/centos-lamp /bin/bash

WARNING: IPv4 forwarding is disabled. Networking will not work.

d149428efbcb5f56b33057977a16f7daca79defcd86561e1b14120de55fe7505

```

它会在所有的镜像层之上增加一个可写层。这个可写层有运行在CPU上的进程,而且有两个不同的状态:运行态(Running)和退出态 (Exited)。这就是Docker容器。当我们使用docker  run启动容器,Docker容器就进入运行态,当我们停止Docker容器时,它就进入退出状态。

```

###查看容器的信息

[root@docker2 ~]# docker ps -a

CONTAINER ID        IMAGE                   COMMAND             CREATED             STATUS              PORTS               NAMES

d149428efbcb        nickistre/centos-lamp   "/bin/bash"         35 seconds ago      Created                                 infallible_noyce

```

docker ps -a命令的输出信息显示了容器的ID号、加载的镜像、运行的程序、创建时间、目前所处的状态、端口映射。其中状态一栏为空,表示当前的容器处于停止状态。

启动处于停止状态的容器可以使用docker start命令。

```

[root@docker2 ~]# docker start d149428efbcb

d149428efbcb

[root@docker1 ~]# docker ps

CONTAINER ID        IMAGE                   COMMAND             CREATED             STATUS              PORTS                     NAMES

d149428efbcb        nickistre/centos-lamp   "/bin/bash"         2 minutes ago       Up 38 seconds       22/tcp, 80/tcp, 443/tcp   infallible_noyce



 

```

启动容器后,可以看到容器状态一栏变为up,表示容器已经处于启动状态。

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

利用docker run命令创建容器时,Docker在后台的标准运行过程如下:

(1)检查本地是否存在指定的镜像。若镜像不存在,会从公共仓库下载。

(2)利用镜像创建并启动一个容器

(3)分配一个文件系统给容器,在只读的镜像层外面挂载一个可读写层。

(4)从宿主主机配置的网桥接口中桥接一个虚拟机接口到容器中。

(5)分配一个地址池中的IP地址给容器。

(6)执行用户指定的应用程序,执行完毕后容器被终止运行。

```

[root@docker1 ~]# docker ps -a | grep d149428efbcb

d149428efbcb        nickistre/centos-lamp   "/bin/bash"         8 minutes ago       Up 6 minutes        22/tcp, 80/tcp, 443/tcp   infallible_noyce

[root@docker2 ~]# docker run centos /usr/bin/bash -c ls /

Unable to find image 'centos:latest' locally

latest: Pulling from library/centos

a1d0c7532777: Pull complete

Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177

Status: Downloaded newer image for centos:latest

bin

dev

etc

home

lib

lib64

lost+found

media

mnt

opt

proc

root

run

sbin

srv

sys

tmp

usr

var

[root@docker2 ~]# docker ps -a

CONTAINER ID        IMAGE                   COMMAND                  CREATED              STATUS                          PORTS                     NAMES

08c5400ddcfc        centos                  "/usr/bin/bash -c ls…"   About a minute ago   Exited (0) About a minute ago                             zen_volhard

d149428efbcb        nickistre/centos-lamp   "/bin/bash"              12 minutes ago       Up 10 minutes                   22/tcp, 80/tcp, 443/tcp   infallible_noyce

```

查看容器的运行状态,可以看出,容器在执行"/usr/bin/bash -c ls"命令之后就停止了。

有时候需要在后台持续地运行一个容器,这就需要让Docker容器以守护进程的形式在后台运行。可以在docker run命令之后添加-d选项来实现,但是需要注意容器所运行的程序不能结束。

```

[root@docker1 ~]# docker run -itd --name mycentos centos:7 /bin/bash

Unable to find image 'centos:7' locally

7: Pulling from library/centos

2d473b07cdd5: Pull complete

Digest: sha256:9d4bcbbb213dfd745b58be38b13b996ebb5ac315fe75711bd618426a630e0987

Status: Downloaded newer image for centos:7

76a2455cc7d58e6ca6e56483b6a32ebe710a14b34126b1508bbf01be342ac9c2

[root@docker2 ~]#docker execit -it mycentos /bin/bash[root@docker2 ~]#yum repolist[root@docker2 ~]# docker run -d centos /usr/bin/bash -c "while true;do echo hello;done"

1fe95e863cc797033d12bf86cf928b82ec8d20095dbfe79d60e0a7ad4a513de7

[root@docker2 ~]# docker ps -a

CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS                     PORTS                     NAMES

3ffda31384ac        centos                          "/usr/bin/bash -c 'w…"   15 seconds ago      Up 13 seconds                                        epic_ardinghelli

```

2、容器的运行与终止

docker stop

docker stop 容器的ID/名称

```

[root@docker2 ~]# docker stop 3ffda31384ac

3ffda31384ac

[root@docker2 ~]# docker ps -a

CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS                       PORTS                     NAMES

3ffda31384ac        centos                          "/usr/bin/bash -c 'w…"   2 minutes ago       Exited (137) 3 seconds ago                             epic_ardinghelli

```

可以看出容器处于Exited的终止状态

3、容器的进入

当需要进入容器进行相应操作时,可以使用docker exec命令

命令格式:

docker exec -it 容器ID/名称  /bin/bash

-i ---让容器的输入保持打开状态

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

```

[root@docker2 ~]# docker run -itd nginx /bin/bash

fac0c75a113209dfb1f20539ddc148d6d30ebbd8316877dbb32a341de642a3bd

[root@docker2 ~]# docker ps

CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS              PORTS                     NAMES

fac0c75a1132        nginx                           "/docker-entrypoint.…"   3 seconds ago       Up 2 seconds        80/tcp                    boring_nobel

[root@docker2 ~]# docker exec -it fac0c75a1132 /bin/bash

root@fac0c75a1132:/# exit

exit

```

4、容器的导出与导入

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

命令格式:

docker export 容器ID/名称  > 文件名

```

[root@docker2 ~]# docker ps -a

CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS                        PORTS                     NAMES

fac0c75a1132        nginx                           "/docker-entrypoint.…"   5 minutes ago       Up 5 minutes                  80/tcp                    boring_nobel

[root@docker2 ~]# docker export fac0c75a1132 >nginxtar[root@docker2 ~]# ls -l nginxtar

-rw-r--r-- 1 root root 144023040 Feb 18 14:02 nginxtar

```

将导出的文件从A机器复制到B机器,之后使用docker import命令导入镜像。

命令格式:

cat 文件名 |docker import - 生成的镜像名称:标签

```

[root@docker2 ~]# scp nginxtar 192.168.200.11:/root[root@docker1 ~]# cat nginxtar |docker import - nginx:test

sha256:e8023767dfdc5ffc65d531a996259d32c6aee5cb491b6648887bc507d155fdcc

```

5、容器的删除

docker rm

命令格式:

docker rm 容器ID/名称

```

[root@docker2 ~]# docker ps

CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS              PORTS                     NAMES

fac0c75a1132        nginx                           "/docker-entrypoint.…"   13 minutes ago      Up 13 minutes       80/tcp                    boring_nobel

[root@dokcer2 ~]# docker rm -f fac0c75a1132

fac0c75a1132

```

docker默认的存储目录在/var/lib/docker下,Docker的镜像、容器、日志等内容全部存储在此目录中,可以单独使用大容量的分区来存储这些内容。一般选择建立LVM逻辑卷,从而避免Docker运行过程中存储目录容量不足的问题。

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ElasticSearch 学习(docker,传统方式安装、安装遇到的问题解决,)

目录 简介 什么是ElasticSearch 安装 传统方式安装 开启远程访问 Docker方式安装 Kibana 简介 安装 传统方式安装 Docker方式安装 compose方式安装 简介 什么是ElasticSearch ElasticSearch 简称 ES ,是基于Apache Lucene构建的开源搜索引擎&#xff0c…

Parade Series - WebRTC ( < 300 ms Low Latency ) T.B.D

Parade Series - FFMPEG (Stable X64) 延时测试秒表计时器 ini/config.ini [system] homeserver storestore\nvr.db versionV20240312001 verbosefalse [monitor] listrtsp00,rtsp01,rtsp02 timeout30000 [rtsp00] typelocal deviceSurface Camera Front schemartsp ip127…

图像处理与图像分析—图像统计特性的计算(纯C语言实现灰度值显示)

根据输入的灰度图像,分别计算图像的均值、方差等统计特征,并计算图像的直方图特征并以图形方式显示图像的直方图(用C或C语言实现)。 学习将会依据教材图像处理与图像分析基础(C/C)版内容展开 在上个笔记中&…

HTTP/2的三大改进:头部压缩、多路复用和服务器推送

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Midjourney绘图欣赏系列【人物篇】(一)

Midjourney介绍 Midjourney 是生成式人工智能的一个很好的例子,它根据文本提示创建图像。它与 Dall-E 和 Stable Diffusion 一起成为最流行的 AI 艺术创作工具之一。与竞争对手不同,Midjourney 是自筹资金且闭源的,因此确切了解其幕后内容尚不…

微信小程序一次性订阅requestSubscribeMessage授权和操作详解

一次性订阅:用户订阅一次发一次通知 一、授权 — requestSubscribeMessage Taro.requestSubscribeMessage({tmplIds: [], // 需要订阅的消息模板的id的集合success (res) {console.log("同意授权", res)},fail(res) {console.log(拒绝授权, res)}})点击或…

Java爬虫-获取数据的方式之一

目录 一、jsoup的使用 1.概述 2.主要功能 3.快速入门 4.数据准备 二、Selenium 1.概述 2.使用 三、Selenium配合jsoup获取数据 四、爬虫准则 五、Seleniumjsoupmybatis实现数据保存 1.筛选需要的数据 2.创建一个表,准备存储数据 手写?不存在…

el-Upload 上传组件,on-success方法response返回值为空

前言 家人们谁懂啊,我最近在用el-upload组件做上传用户的头像的功能,用的是它自带的action方法自动上传,它不是有个on-success方法吗,是个回调函数,上传成功后会返回三个参数,response(是一个表…

使用Barrier共享鼠标键盘,通过macos控制ubuntu系统

之前文章写过如何使用barrrier通过windows系统控制ubuntu系统,该文章将详细介绍如何使用barrier通过macos系统控制ubuntu系统 一、macOS安装barrier macOS版本barrier链接 1、双击点开安装包 2、将安装包里的barrier拷贝到macOS的达达->应用程序中 3、在达达…

[QT]自定义的QtabWidget

需求 最近有一个需求就是一个QTabWidget要求有四个tab页在左侧用于显示主页面&#xff0c;在右侧有一个关于按钮&#xff0c;点击后用于弹出窗口显示一些程序相关信息。主要是怎么实现右侧按钮 相关代码 #ifndef MYTABWIDGET_H #define MYTABWIDGET_H#include <QWidget&g…

元宇宙崛起:区块链与金融科技共绘数字新世界

文章目录 一、引言二、元宇宙与区块链的深度融合三、区块链在元宇宙金融中的应用四、金融科技在元宇宙中的创新应用五、面临的挑战与机遇《区块链与金融科技》亮点内容简介获取方式 一、引言 随着科技的飞速发展&#xff0c;元宇宙概念逐渐走进人们的视野&#xff0c;成为数字…

手机备忘录可以设置密码吗 能锁屏加密的备忘录

在繁忙的生活中&#xff0c;手机备忘录成了我随身携带的“小秘书”。那些关于工作的灵感、生活的琐事&#xff0c;甚至深藏心底的小秘密&#xff0c;都被我一一记录在里面。然而&#xff0c;每次当手机离开我的视线&#xff0c;或者需要借给他人使用时&#xff0c;我总会心生担…

贝叶斯优化的门控循环神经网络BO-GRU(时序预测)的Matlab实现

贝叶斯优化的门控循环神经网络&#xff08;BO-GRU&#xff09;是一种结合了贝叶斯优化&#xff08;Bayesian Optimization, BO&#xff09;和门控循环单元&#xff08;Gated Recurrent Unit, GRU&#xff09;的模型&#xff0c;旨在进行时序预测。这种模型特别适用于时间序列数…

HTML 学习笔记(七)列表

html中的列表分为以下三种&#xff1a;有序列表&#xff0c;无序列表和自定义列表 1.有序列表 有序列表由两个元素组成&#xff1a;元素ol和元素li&#xff0c;此两个元素是父子关系&#xff0c;li必须包裹在ol里使用&#xff0c; ol里直接嵌套的只有li&#xff0c;其嵌套效果…

SpringBoot配置达梦数据库依赖(达梦8)

maven配置 <!-- 达梦数据库 --><dependency><groupId>com.dameng</groupId><artifactId>DmJdbcDriver18</artifactId><version>8.1.1.193</version></dependency><dependency><groupId>com.alibaba&l…

Day33:安全开发-JavaEE应用SQL预编译Filter过滤器Listener监听器访问控制

目录 JavaEE-预编译-SQL JavaEE-过滤器-Filter JavaEE-监听器-Listen 思维导图 Java知识点 功能&#xff1a;数据库操作&#xff0c;文件操作&#xff0c;序列化数据&#xff0c;身份验证&#xff0c;框架开发&#xff0c;第三方库使用等. 框架库&#xff1a;MyBatis&#…

Era Network在web3行业的价值

近年来,以比特币和以太坊为代表的区块链技术快速发展,去中心化、信任机制的创新概念也越来越受到广泛关注。AI人工智能与区块链技术在互联网应用领域的落地,正在引领互联网进入价值互联的新阶段web3.0时代&#xff01; 新行业发展的价值与优先级 WEB3行业发展的核心需求是&…

N3-Chitosan N3 叠氮修饰壳聚糖 改性叠氮 CS-Azide

碳水科技&#xff08;Tanshtech&#xff09;可以提供壳聚糖衍生物 1.壳聚糖的各种改性(NH2/COOH/SH/N3/MAL-Chitosan等) 2.各种靶向小分子修饰壳聚糖&#xff08;Biotin/FA/cRGD-Chitosan等&#xff09; 3.各种荧光标记壳聚糖(FITC/RB/CY-Chitosan等) 4.壳聚糖和各种聚合物…

机器学习的基础学习笔记

黑马的学习视频 大家常说的人工智能、机器学习、深度学习其实是包含关系&#xff0c;深度学习是机器学习的一种特殊方法&#xff0c;而机器学习又是人工智能的一个子领域。 其中机器学习是使计算机系统能够通过学习经验和数据来改进性能。机器学习算法能够从数据中发现模式&am…

sqllab第七关通关笔记

知识点&#xff1a; 利用回显信息不同进行盲注爆破出敏感信息两种绕过方法 单引号闭合绕过&#xff1b;不加注释符 id 1 and 11 完全闭合原始语句的绕过&#xff1b;这题是采用了where id((输入)) id 1)) and 11 -- 首先判断注入类型 构造id1/0 正常回显&#xff0c;字符型注…