Docker续1:

news2024/11/16 3:48:21

一、打包传输

1.打包

[root@localhost ~]# systemctl start docker
[root@localhost ~]# docker save -o centos.tar centos:latest 
[root@localhost ~]# ls
anaconda-ks.cfg  centos.tar

2.传输

[root@localhost ~]# scp centos.tar root@192.168.1.100:/root

3.删除镜像

[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
centos       latest    5d0da3dc9764   2 years ago   231MB
[root@localhost ~]# docker start c0                   //启动容器
c0
[root@localhost ~]# docker attach c0                     //进入容器
[root@207ca7680ecc /]# exit
exit
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@localhost ~]# docker ps --all                         //查看全部
CONTAINER ID   IMAGE           COMMAND       CREATED        STATUS                     PORTS     NAMES
207ca7680ecc   centos:latest   "/bin/bash"   20 hours ago   Exited (0) 4 seconds ago             c0
[root@localhost ~]# docker rmi centos:latest                               //这里看到没有删掉,因为有容器正在使用
Error response from daemon: conflict: unable to remove repository reference "centos:latest" (must force) - container 207ca7680ecc is using its referenced image 5d0da3dc9764
[root@localhost ~]# docker rm c0                                  //删除容器
c0
[root@localhost ~]# docker ps --all
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@localhost ~]# docker rmi centos:latest                                   //成功删除
Untagged: centos:latest
Untagged: centos@sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Deleted: sha256:5d0da3dc976460b72c77d94c8a1ad043720b0416bfc16c52c45d4847e53fadb6
Deleted: sha256:74ddd0ec08fa43d09f32636ba91a0a3053b02cb4627c35051aff89f853606b59
[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE

4.导入到本地目录

[root@localhost ~]# docker load -i centos.tar
74ddd0ec08fa: Loading layer
[==================================================
>] 238.6MB/238.6MB
Loaded image: centos:latest
[root@localhost ~]# docker image ls          //这里看到已经导入成功了
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
centos       latest    5d0da3dc9764   2 years ago   231MB


二、容器导出镜像(导出一个有yum源的镜像)

1.有yum源的

[root@localhost ~]# docker run -it --name=c0 centos:latest /bin/bas               //创建并启动服务
配置yum源
[root@70f41b63c128 /]# rm -rf /etc/yum.repos.d/*
[root@70f41b63c128 /]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo                 
[root@70f41b63c128 /]# yum clean all && yum makecache
[root@70f41b63c128 /]#yum -y install epel-release
ctrl+p+q退出
[root@localhost ~]# docker ps --all
CONTAINER ID   IMAGE           COMMAND       CREATED         STATUS         PORTS     NAMES
70f41b63c128   centos:latest   "/bin/bash"   8 minutes ago   Up 8 minutes             c0
[root@localhost ~]# docker export -o centos_yum.tar c0                     //导出tar
[root@localhost ~]# ls
anaconda-ks.cfg  centos.tar  centos_yum.tar
[root@localhost ~]# docker import -m yum centos_yum.tar centos:yum            //导入为镜像
sha256:9d43e5c9d7e41b8ed7ec287ad1cde2e56297808cab66618e25f25b6962b869fa
[root@localhost ~]# docker image ls                                  //生成了新的镜像
REPOSITORY   TAG       IMAGE ID       CREATED              SIZE
centos       yum       9d43e5c9d7e4   About a minute ago   260MB
centos       latest    5d0da3dc9764   2 years ago          231MB

2.有httpd的

[root@localhost ~]# docker run -it --name c100 centos:yum /bin/bash
[root@1fe0d666d8b9 /]# yum -y install httpd

[root@1fe0d666d8b9 /]# echo "i am tdr" > /usr/share/httpd/noindex/index.html 
退出
[root@localhost ~]# docker export -o centos_httpd.tar c100
[root@localhost ~]# ls
anaconda-ks.cfg  centos_httpd.tar  centos.tar  centos_yum.tar
[root@localhost ~]# docker import -m httpd centos_httpd.tar centos:httpd
[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED             SIZE
centos       httpd     55b1539d5cd6   About an hour ago   309MB
centos       yum       9d43e5c9d7e4   4 hours ago         260MB
centos       latest    5d0da3dc9764   2 years ago         231MB


三、IP地址

查看ip

1.进入容器,安装net-tools或iproute,直接使用命令ifconfig

[root@6e9839616992 /]# yum -y install net-tools
[root@6e9839616992 /]# ifconfig 
[root@6e9839616992 /]# yum -y install iproute
[root@6e9839616992 /]# ip a s

2.在外面使用docker指令inspect

[root@localhost ~]# docker inspect c100
[root@localhost ~]# docker inspect centos:httpd 

3.在外部调用指令

[root@localhost ~]# docker exec c100 ip a s
[root@localhost ~]# docker exec c100 ifconfig

4.使用exec创建一个文件

[root@localhost ~]# docker exec c100 touch /root/tdr.txt
[root@localhost ~]# docker attach c100
[root@6e9839616992 /]# ls /root
anaconda-ks.cfg  anaconda-post.log  original-ks.cfg  tdr.txt


四、虚拟机端口映射

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

[root@localhost ~]# docker stop c100 c101                          //停用容器 
c100
c101
[root@localhost ~]# docker rm c100 c101                          //删除容器
c100
c101
[root@localhost ~]# docker run -it --name c0 -p80:80/tcp centos:httpd /bin/bash                //创建启动并映射端口,将容器中的80端口映射给宿主机的80端口,前面是宿主机的端口,后面是容器的端口
[root@1fe0d666d8b9 /]# httpd -k start
[root@1fe0d666d8b9 /]# echo "tdr" > /usr/share/httpd/noindex/index.html 
ctrl+p+q退出
[root@localhost ~]# curl localhost                            //宿主机访问,没做端口映射之前就是可以访问的
tdr           
去真机浏览器访问虚拟机IP:192.168.1.76                  //没做端口映射之前不能访问,现在可以了


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

[root@localhost ~]# docker ps --all 
CONTAINER ID   IMAGE          COMMAND       CREATED          STATUS          PORTS                               NAMES
1fe0d666d8b9   centos:httpd   "/bin/bash"   19 minutes ago   Up 19 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   c0
[root@localhost ~]# docker stop c0                 //停止
c0
[root@localhost ~]# docker rm c0                   //删除
c0
[root@localhost ~]# docker run -it --name c1 -p80 centos:httpd /bin/bash  //这里只有80,是容器的80端口
[root@dce0e427f4d6 /]# httpd -k start
[root@dce0e427f4d6 /]# curl localhost
i am tdr
ctrl+p+q退出
[root@localhost ~]# docker ps                   
CONTAINER ID   IMAGE          COMMAND       CREATED              STATUS              PORTS                                     NAMES
dce0e427f4d6   centos:httpd   "/bin/bash"   About a minute ago   Up About a minute   0.0.0.0:32768->80/tcp, :::32768->80/tcp   c1
[root@localhost ~]# curl 192.168.1.76:32768
i am tdr
去真机浏览器访问虚拟机IP:192.168.1.76:32768


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

[root@localhost ~]# ifconfig ens33:0 192.168.1.77 broadcast 192.168.1.77 netmask 255.255.255.255 up
[root@localhost ~]# docker run -it --name c0 -p192.168.1.77::80 centos:httpd /bin/bash
[root@1775f9c8e015 /]# httpd -k start
[root@1775f9c8e015 /]# curl localhost
i am tdr
ctrl+p+q退出
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE          COMMAND       CREATED              STATUS              PORTS                                     NAMES
1775f9c8e015   centos:httpd   "/bin/bash"   About a minute ago   Up About a minute   192.168.1.77:32769->80/tcp                c0
dce0e427f4d6   centos:httpd   "/bin/bash"   17 minutes ago       Up 17 minutes       0.0.0.0:32768->80/tcp, :::32768->80/tcp   c1
[root@localhost ~]# curl 192.168.1.77:32769
i am tdr
去真机浏览器访问虚拟机IP:192.168.1.77:32769

五、数据存储

挂载外部文件

[root@localhost ~]# mkdir /source                           //创建挂载点
[root@localhost ~]# docker run -it --name c2 -v /source:/data centos:httpd /bin/bash       //创建启动并挂载,这个data目录不需要在容器中新建,这里写了它就出现了
[root@db49f398a619 /]# ls                          //data目录出现了
bin   dev  home  lib64         media  opt   root    sbin  sys  usr
data  etc  lib     lost+found  mnt    proc  run    srv   tmp  var
ctrl+p+q退出
[root@localhost ~]# touch /source/abc.txt                         //宿主机挂载目录下创建文件
[root@localhost ~]# ls /source/
abc.txt
[root@localhost ~]# docker exec c2 ls /data                       //查看容器/data目录
abc.txt
[root@localhost ~]# docker exec c2 touch /data/def.txt           //在容器的/data目录下创建文件
[root@localhost ~]# ls /source/                                          //在宿主机也是可以查到的
abc.txt  def.txt

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

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

相关文章

场外个股期权杠杆率是多少如何计算倍数?

今天带你了解场外个股期权杠杆率是多少如何计算倍数?场外个股期权的杠杆大小不是固定的,而是取决于期权合约的价值和标的资产的价值之间的比例,一般来说场外个股期权的杠杆率大概在5-30倍甚至更高左右。 场外个股期权杠杆率是多少&#xff1…

罗德与施瓦茨RS SMW200A 最实用的一款矢量信号发生器

Rohde & Schwarz SMW200A 是一款适用于最苛刻应用的矢量信号发生器。由于其灵活性、性能和直观的操作,它是生成复杂、高质量数字调制信号的完美工具。 罗德与施瓦茨 SMW200A 是开发新型宽带通信系统、验证 3G 和 4G 基站或航空航天和国防领域所需的数字调制信号…

【软考】cpu的组成

目录 1. 说明2. cpu结构图3. 运算器3.1 说明3.2 主要功能3.3 算术逻辑单元3.4 累加寄存器3.5 数据缓冲寄存器DR3.6 状态条件寄存器PSW 4. 控制器4.1 说明4.2 指令寄存器(IR)4.3 程序计数器(PC)4.4 地址寄存器(AR)4.5 指令译码器(DD) 5. 寄存器组6. 例题6.1 例题1 1. 说明 1.cp…

Lighthouse ApexZ 尘埃粒子计数器审计追踪 数据完整性

在大型制药企业中,高效、准确且安全的样本处理与数据管理至关重要。这些企业不仅需要确保产品质量符合严格的监管要求,还需要优化流程以提高生产效率和降低成本。结合您提到的LIMS(实验室信息管理系统)和Lighthouse ApexZ便携式空…

行星搅拌炒锅的优点有哪些?

1、容积大,产量高。 2、火力大,独特的燃烧装置,升温快,温度高,炒出的物料色泽鲜艳,口味纯正。 3、不糊锅,独特的搅拌装置,可以覆盖锅体的每一个角落,使物料不糊锅&…

《黑神话 悟空》大火,通关后部分景区可免门票,72处《黑神话 悟空》取景地汇总!

重要提醒!打通关的天命人们 免门票了!72处《黑神话 悟空》取景地汇总。 8月20日,首个国产3A大作《黑神话:悟空》上线,这几天,大家基本很难不刷到这个热点。在这个游戏中,去了全国多个景区取景,…

城乡燃气安全监管平台 打造城市安全防护网

随着城市化进程的不断加快,燃气已成为现代生活中不可或缺的重要能源。然而,传统燃气管理方式的局限性逐渐显现,难以应对日益增长的安全监管需求。为此,旭华智能基于其在智慧城市领域的深厚积累,推出了燃气安全监管物联…

Spring Cloud + Easy Excel导出表格

在现代应用开发中,数据的导出和处理是一个非常常见的需求。Spring Cloud 和 Easy Excel 是两个强大的工具,可以帮助我们高效地完成这个任务。本文将介绍如何将这两个工具结合起来,实现表格数据的导出功能。 1.环境准备 在开始之前&#xff0…

shellcode汇编复习

shellcode汇编复习 一、 汇编代码复习二、 基础寄存器1. EAX (Accumulator Register)2. EBX (Base Register)3. ECX (Count Register)4. EDX (Data Register)5. ESI (Source Index Register)6. EDI (Destination Index Register) 二、 基础指令1. mov - 数据传送2. add - 加法3…

vue js 前端同时下载多个文件,前端多文件下载

在日常需求中,一般情况下,单次点击下载文件数量一般是一个,当然也有多个文件同时下载的需求,由于浏览器机制,不支持直接多个文件下载,所有需要特殊处理 案例图 不多说了,直接上代码 //下载文…

Transformer经典模型实战:零基础训练一个面向中文的T5模型(Text to Text Transfer Transformer)

scient scient一个用python实现科学计算相关算法的包,包括自然语言、图像、神经网络、优化算法、机器学习、图计算等模块。 scient源码和编译安装包可以在Python package index获取。 The source code and binary installers for the latest released version ar…

景联文科技提供语音采集服务:开启智能交互新纪元

随着人工智能技术的飞速发展,语音交互已成为连接人与智能设备的重要桥梁。无论是智能助手、智能家居还是自动驾驶汽车,语音识别技术都是其背后不可或缺的核心力量。 为了满足各行各业对高质量语音数据的需求,景联文科技凭借自身强大的数据采集…

XGen —— 导入Hou

动力学解算 选择description,转化为交互式Groom; 选择description,将引导线转化为曲线; 添加linearWire,并选择转化后的曲线生成解算线 选择上述生成的解算线,创建动力学; 导出解算的Xgen 导出a…

Edge SCDN:构建更快更安全的网络世界

什么是Edge SCDN? Edge SCDN,即边缘安全加速,是一种结合了传统CDN(内容分发网络)技术与网络安全防护功能的服务。传统的CDN通过在全球范围内分布服务器节点来加速网站内容的分发,提高访问速度和用户体验。…

备考计算机二级Python之Day4作业编程题

1、输入一个年份,输出是否为闰年。 #闰年条件:能被4整除但不能被100整除,或者能被400整除的年份都是闰年。 neval(input("请输入一个年份:")) if (n%40 and n%100!0) or (n%4000):print("该年份是闰年") els…

68 H3C SecPath F1000 (系统模块介绍-1)

68 H3C SecPath F1000 (系统模块介绍) 01-高可靠性 特性简介 高可靠性(High Availability),简称为HA,能够在通信线路或设备产生故障时提供备用方案,当其中一个网络节点发生故障时&#xff0c…

生信是什么?生物信息学的基础概念与应用领域-生信圆桌

介绍 生信,全称为生物信息学(Bioinformatics),是指将计算机科学、数学和统计学的方法应用于生物学数据的处理、分析和解释。随着基因组测序技术的发展和大规模生物数据的产生,生物信息学成为了生命科学研究中的一个核…

浅谈AI+工业视觉检测技术应用的优化

1 高质量替代人眼,助力智能制造 视觉是人类获取信息最主要的渠道,它使人们得以感知和理解周边的世界。通过视觉,人类可以感知外界物体的大小、明暗、颜色、动静,获得对机体生存具有重要意义的各种信息。人类的大脑皮层约有70%都在…

arthas源码刨析:arthas 命令粗谈(3)

文章目录 dashboardwatchretransform 前面介绍了 arthas 启动相关的代码并聊了聊怎么到一个 shellserver 的建立。 本篇我们来探讨一下几个使用频次非常高的命令是如何实现的。 dashboard 想看这个命令的主要原因是编程这些年来从来没有开发过 terminal 的这种比较花哨的界面&a…