docker应用

打包传输

1.将镜像打包

#查看帮助文件

docker --help 

#找到save,可以将镜像保存为一个tar包

docker save --help

#查看save使用方式

#查看现有的镜像

docker images

# docker save --output centos.tar centos:latest

ls

...centos.tar...

可以将tar发送给其他用户,也可以作为备份

删除镜像

[root@docker ~]# docker rmi centos:latest
Error response from daemon: conflict: unable to remove repository reference "centos:latest" (must force) - container 5b068251f855 is using its referenced image 5d0da3dc9764
#如果有这个镜像生成的容器正在使用,那么就无法使用rmi移除镜像

#删除容器,退出容器的up状态

docker rm c0

[root@docker ~]# docker rm c0
c0

[root@docker ~]# docker ps --all        #使用docker ps --all确定没有镜像
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@docker ~]# docker rmi centos:latest
Untagged: centos:latest
Untagged: centos@sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Deleted: sha256:5d0da3dc976460b72c77d94c8a1ad043720b0416bfc16c52c45d4847e53fadb6
Deleted: sha256:74ddd0ec08fa43d09f32636ba91a0a3053b02cb4627c35051aff89f853606b59
[root@docker ~]# docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE

从tar中引入镜像

docker --help

docker load --help

docker load  -i centos.tar centos:latest

[root@docker ~]# docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE
[root@docker ~]# ls
anaconda-ks.cfg  centos.tar
[root@docker ~]# docker load --help 

Usage:  docker load [OPTIONS]

Load an image from a tar archive or STDIN

Aliases:
  docker image load, docker load

Options:
  -i, --input string   Read from tar archive file, instead of STDIN
  -q, --quiet          Suppress the load output
[root@docker ~]# docker load -i centos.tar 
74ddd0ec08fa: Loading layer  238.6MB/238.6MB
Loaded image: centos:latest
[root@docker ~]# docker images 
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
centos       latest    5d0da3dc9764   2 years ago   231MB
 

打开一个新的容器

docker run -it --name c0 centos:latest /bin/bash

ctrl ^p^q        退出但不关闭

创建镜像

#查看所有的容器

docker ps --all

#停用并且删除容器

docker stop c1 && docker rm c1

容器导出镜像

1.从容器导出tar包

#查看帮助文档

docker --help 

docker export --help

#使用指令

docker export -o centos_yum.tar c0        将容器导出为tar包

#查看新生成的tar包

2.从tar包导入镜像

#查看帮助

docker --help

docker import --help

#使用导入

docker import -m 说明内容 centos_yum.tar centos:yum

#查看镜像

docker images 

#这个镜像不需要我们配置yum

练习:

做一个带httpd服务的镜像

docker run -it --name c100 centos:yum /bin/bash

yum -y install httpd 

echo "aaabbbccc"  > /var/www/html/index.html

httpd -k start 

curl ^P^Q

docker export -o centos_httpd.tar c100

docker import -m httpd centos_httpd.tar centos:httpd

实操:

[root@docker httpd]# docker run -it --name c100 centos:yum /bin/bash
[root@f223078b317b /]# yum -y install httpd
[root@f223078b317b /]# echo "aaabbbcccddd" > /var/www/html/index.html
[root@f223078b317b /]# httpd -k start 
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
[root@f223078b317b /]# curl localhost
aaabbbcccddd
[root@f223078b317b /]# [root@docker httpd]# 
[root@docker httpd]# docker ps 
CONTAINER ID   IMAGE        COMMAND       CREATED         STATUS         PORTS     NAMES
f223078b317b   centos:yum   "/bin/bash"   2 minutes ago   Up 2 minutes             c100
[root@docker httpd]# docker export -o centos_httpd c100
[root@docker httpd]# ls
centos_httpd  dockerfile  index.html
[root@docker httpd]# docker import -m intrduce centos_httpd centos:httpd
sha256:4bec8f3517a5f9c7934e9b9c61db1b7eec106b5ab4375b905d8dcfbf93707a86
[root@docker httpd]# docker image ls
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
centos       httpd     4bec8f3517a5   21 seconds ago   309MB
centos       yum       3e62c6e9639e   3 hours ago      260MB
centos       7         eeb6ee3f44bd   2 years ago      204MB
centos       latest    5d0da3dc9764   2 years ago      231MB
[root@docker httpd]# docker run -it --name c101 centos:httpd /bin/bash        启动一个容器之后,可以启动httpd服务
[root@17f686ad3194 /]# httpd -k start 
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.3. Set the 'ServerName' directive globally to suppress this message
[root@17f686ad3194 /]# curl localhost
aaabbbcccddd

[root@docker ~]# docker inspect --help        查看语法

查看ip

1.进入到容器,使用指令

docker attach c100

yum -y install net-tools/iproute

ip a s

ifconfig

2.使用docker指令

docker inspect c100

docker inspect c101

3.在外部调用指令

docker exec c100 ip a s

docker exec c101 ifconfig

4.练习测试实验exec创建(touch)一个文件

[root@docker ~]# docker exec c100 touch /opt/test.txt
[root@docker ~]# docker exec c100 ls /opt/
test.txt
 

启动容器并端口映射

1.将容器中的80端口映射到宿主机(docker主机)80端口

docker run -it --name c0 -p80:80 centos:httpd /bin/bash

2.随机的为容器指定映射端口,映射端口>=32768

doaker run -it --name c1 -p80 centos:httpd /bin/bash

curl p q

docker  ps 

3.通过其他的ip地址的端口映射容器的端口

docker run -it --name c0  -p192.168.2.80 centos:httpd /bin/bash

访问192.168.2.80:32768

数据存储

1.为什么

因为docker 容器只是一个工具,不需要保存数据,不需要做持久化,如果要做持久化,那么就需要保存到宿主机上,需要宿主机和容器有一个共享卷

docker run -it --name c0 -v  /source:/data

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

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

相关文章

若依如何添加测试单元

一、引入依赖 在ruoyi-admin的pom文件中加入以下依赖&#xff0c;此处为什么不需要写版本号&#xff1f;SpringBoot版本中有对应的默认版本&#xff0c;可以防止新手小白乱写版本后引发冲突。 <dependency><groupId>org.springframework.boot</groupId><…

class_4:条件语句和逻辑运算符

mood_index int(input("对象今天的心情怎么样&#xff01;"))if mood_index > 80:print("今天可以好好happy一下了")print("O(∩_∩)O哈哈~") else:print("今天还是乖乖的吧&#xff01;否则小命不保") #BMI 体重 /&#xff08;身…

[mysql][sql]安装完mysql8跨主机不能访问解决办法

SQL语句是针对MySQL数据库的操作&#xff0c;用于更新用户信息和用户密码。 use mysql; update user set host% where userroot; ALTER USER root% identified with mysql_native_password by 密码;以下是每个命令的简要说明&#xff1a; 切换到mysql数据库: USE mysql; 这…

css实现闪烁渐变背景,@property自定义属性

自 2024 年 7 月起&#xff0c;此功能适用于最新的设备和浏览器版本。此功能可能无法在较旧的设备或浏览器中使用。 property 是 CSS 中一个相对较新的功能&#xff0c;主要用于定义自定义属性&#xff08;即 CSS 变量&#xff09;的类型、继承性以及初始值。它允许开发者更好地…

ArkTS---HAR

HAR&#xff08;Harmony Archive&#xff09;是静态共享包&#xff0c;可以包含代码、C库、资源和配置文件。通过HAR可以实现多个模块或多个工程共享ArkUI组件、资源等相关代码。 一、使用场景 作为二方库&#xff0c;发布到OHPM私仓&#xff0c;供公司内部其他应用使用。作为…

Linux --- 文件系统

1. 文件系统的概念 Linux 文件系统是一种用于管理、存储和组织数据的层次结构&#xff0c;用于在 Linux 操作系统中管理磁盘上的数据存储。它定义了如何在存储介质&#xff08;如硬盘、固态硬盘或 USB 闪存&#xff09;上组织文件和目录&#xff0c;以及如何读取、写入和操作这…

java整合DL645-2007与Dl645-1997

注意事项: 前导字节-一般在传输帧信息前,都要有0~4个FE不等,所以这里要注意,对于主站来说,直接发送4个FE作为前导字节即可。而从站回复,就不一定了,根据厂家不同而不同,有些没有FE的,也有4个FE的,所以对于接受程序,一定要慎重传输次序-所有的数据项都是先传低字节,…

鸿蒙HarmonyOS实战:IPC与RPC设备内进程通信

基本 IPC&#xff08;Inter-Process Communication&#xff09;与RPC&#xff08;Remote Procedure Call&#xff09;用于实现跨进程通信&#xff0c;不同的是前者使用Binder驱动&#xff0c;用于设备内的跨进程通信&#xff0c;后者使用软总线驱动&#xff0c;用于跨设备跨进…

嵌入式八股-C++面试35题(20240824)

1. 进程和线程的基本概念是什么&#xff1f; 进程&#xff1a;进程是操作系统分配资源的基本单位&#xff0c;是一个正在运行的程序实例。每个进程都有自己的内存空间、文件句柄和其他资源。线程&#xff1a;线程是进程的一个执行单元&#xff0c;是CPU调度和分派的基本单位。…

K8S部署MySQL5.7的主从服务

mysql-slave-0是master mysql-slave-1是备份 当mysql写的时候&#xff0c;找headless service中的 mysql-slave-0.mysql57-slave-headless&#xff1b;当mysql读的时候&#xff0c;找clusterip service中的mysql57-slave-read读&#xff0c;实现读写分离。 statefulset维护两个…

linux文本分析工具grep、sed和awk打印输出文本的单双奇偶行(grep也可以打印奇偶行)以及熟悉的ssh命令却有你不知道的一些用法

一、linux文本分析工具grep、sed和awk打印输出文本的单双奇偶行&#xff08;grep也可以打印奇偶行&#xff09; 其实sed和awk要打印输出奇偶行是很容易的事情&#xff0c;不过只能使用grep来输出奇偶行的话怎么实现呢&#xff1f;今天我就想了一下&#xff0c;如果真的只能使用…

【Leetcode 1897 】重新分配字符使所有字符串都相等 —— 数组模拟哈希表

给你一个字符串数组 words&#xff08;下标 从 0 开始 计数&#xff09;。 在一步操作中&#xff0c;需先选出两个 不同 下标 i 和 j&#xff0c;其中 words[i] 是一个非空字符串&#xff0c;接着将 words[i] 中的 任一 字符移动到 words[j] 中的 任一 位置上。 如果执行任意…

Latex 插入图片或表格导致页面空白过多

如图所示&#xff1a; Latex 插入图片或表格导致页面空白过多 我们可以采用这个方式来减少空白。 \documentclass{article} \usepackage{graphicx} % 包含图形支持 \usepackage{caption} % 提供更多对caption的控制% 设置标题上方和下方的间距 \setlength{\abovecaptionskip}{…

学习记录:js算法(十二):柱状图中最大的矩形

文章目录 柱状图中最大的矩形我的思路网上思路 总结 柱状图中最大的矩形 给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xff0c;且宽度为 1 。 求在该柱状图中&#xff0c;能够勾勒出来的矩形的最大面积。 示例 1:上图 输入&#xff1a;…

mac 安装Arthas

mac安装有两种方式 1.第一步安装Arthas 第一种&#xff1a; curl -L https://arthas.aliyun.com/install.sh | sh 第二种jar包形式 curl -O https://arthas.aliyun.com/arthas-boot.jar个人比较推荐第一种因为运行测试成功了 第一种安装后可能会出现一些命令不符合 需…

网安新声 | 从微软“狂躁许可”漏洞事件看安全新挑战与应对策略

网安加社区【网安新声】栏目&#xff0c;汇聚网络安全领域的权威专家与资深学者&#xff0c;紧跟当下热点安全事件、剖析前沿技术动态及政策导向&#xff0c;以专业视野和前瞻洞察&#xff0c;引领行业共同探讨并应对新挑战的策略与可行路径。 近期&#xff0c;微软披露了一个最…

CyberScraper-2077+simple-one-api:使用大模型爬虫

大模型相关目录 大模型&#xff0c;包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步&#xff0c;扬帆起航。 swift与Internvl下的多模态大模型分布式微调指南&#xff08;附代码和数据&#xff…

C语言典型例题50

《C程序设计教程&#xff08;第四版&#xff09;——谭浩强》 例题4.2 使用do……while语句循环求1234……100&#xff1b; 代码&#xff1a; //《C程序设计教程&#xff08;第四版&#xff09;——谭浩强》 //例题4.2 使用do……while语句循环求1234……100&#xff1b;#incl…

web后端(javaEE)开发——servlet

目录 一、web后端开发概述 二、web后端开发环境搭建 1.安装服务器软件 2.安装JDK 三、创建web后端项目 1.创建项目 2.修改设置 3.*在IDEA中集成Tomcat* 四、Servlet创建和应用 1.概述 2.Servlet程序创建与配置 3.分析Servlet程序结构 一、web后端开发概述 web开发&a…

Flutter ListView 实现不同样式 item

我们在实际开发中会创建显示不同类型内容的列表。以下是使用 Flutter 创建此类结构的方法&#xff1a; 1. 创建包含不同类型项目的数据源。 2. 将数据源转换为小部件列表。 创建包含不同类型项目的数据源 项目类型 要表示列表中不同类型的项目&#xff0c;请为每种类型的项目…