文章目录一、Docker简介和部署方法1.1.什么是docekr1.2.docekr企业中的应用场景1.3.docekr和虚拟化1.5.Docker部署二、Docker的基本操作2.1.搜索镜像2.2.拉取镜像2.3.查看镜像2.4.导出镜像2.5.删除镜像2.6.容器常用命令2.6.1查看容器信息2.6.2运行、停止和删除容器2.6.3器内容提交2.6.4系统中的文件和容器中的文件的传输2.6.5查询容器内部日志一、Docker简介和部署方法1.1.什么是docekrDocker 是一个用于开发、打包、运行应用程序的容器化平台。优势轻量级虚拟化Docker 容器相较于传统的虚拟机更加轻量和高效能够快速启动和停止节省系统资源。一致性应用程序在不同的环境中如开发、测试、生产具有一致的运行表现。可移植性可以轻松地将 Docker 容器从一个平台迁移到另一个平台无需担心依赖和环境配置的差异。资源利用高效多个 Docker 容器可以共享主机的操作系统内核从而更有效地利用系统资源。容易部署和扩展能够快速部署新的应用实例并且可以根据需求轻松地进行水平扩展。Docker 极大地简化了应用程序的开发、部署和管理流程提高了开发效率和运维的便利性。它在现代软件开发和云计算领域得到了广泛的应用。1.2.docekr企业中的应用场景在企业中docker作为业务的最小载体而被广泛应用通过docker企业可以更效率的部署应用并更节省资源云计算的三种主要服务模式IaaS:基础设施即服务提供底层的基础计算、存储、网络资源。用户可以在这些基础设施上安装操作系统、中间件、数据库和应用程序。PaaS平台即服务提供开发和部署应用所需的平台环境包括操作系统、数据库、中间件、开发工具等。用户只需关注应用代码本身。SaaS软件即服务直接提供可用的软件应用用户通过浏览器或客户端直接使用无需安装、维护或管理底层基础设施。1.3.docekr和虚拟化虚拟化是“模拟一台完整的电脑”Docker 是“在操作系统里隔离进程”。虚拟机docker容器操作系统宿主机上运行虚拟机OS共享宿主机OS存储镜像较大GB镜像小MB性能操作系统额外的cpu、内存消耗几乎无性能损耗移植性笨重、与虚拟化技术耦合度高轻量、灵活迁移隔离性完全隔离安全隔离部署慢、分钟级快速、秒级运行密度一般几十个单机支持上千容器Docker 是基于操作系统层的容器技术共享宿主机内核轻量快速虚拟化是通过 Hypervisor 模拟完整硬件和操作系统隔离性强但资源消耗大。1.5.Docker部署官方站点https://docs.docker.com/1.配置仓库cd/etc/yum.repos.dvimdocker.repo[docker]namedocker-cebaseurlhttps://mirrors.aliyun.com/docker-ce/linux/rhel/9/x86_64/stablegpgcheck02.安装Docker-ce并启动#安装dockeryuminstall-ydocker-ce#编辑docker启动文件设定其使用iptables的网络设定方式默认使用nftables[rootdocker ~]# vim /usr/lib/systemd/sysvtem/docker.serviceExecStart/usr/bin/dockerd-Hfd://--containerd/run/containerd/containerd.sock--iptablestrue systemctlenable--nowdockerdockerinfo3.配置内核网络echobr_netfilter/etc/modules-load.d/docker_mod.conf modprobe br_netfiltervim/etc/sysctl.d/docker.conf net.bridge.bridge-nf-call-iptables1net.bridge.bridge-nf-call-ip6tables1net.ipv4.ip_forward1sysctl--systemsystemctl restartdocker4.设置Docker加速器[rootdocker-node1 ~]vim/etc/docker/daemon.json{registry-mirrors:[https://docker.m.daocloud.io]}[rootdocker-node1 ~]systemctl restartdocker[rootdocker-node1 ~]dockerinfo...... Registry Mirrors: https://docker.m.daocloud.io/ Live Restore Enabled:false二、Docker的基本操作2.1.搜索镜像[rootDocker-node1 ~]dockersearch nginx NAME DESCRIPTION STARS OFFICIAL nginx Official build of Nginx.20094[OK]参数说明NAME镜像名称DESCRIPTION镜像说明STARS点赞数量OFFICIAL是否是官方的2.2.拉取镜像#从镜像仓库中拉取镜像[rootDocker ~]dockerpull nginx:1.26-alpine[rootdocker ~]dockerpull busybox Using default tag: latest latest: Pulling from library/busybox 481282afbc43: Pull complete Digest: sha256:1487d0af5f52b4ba31c7e465126ee2123fe3f2305d638e7827681e7cf6c83d5e Status: Downloaded newer imageforbusybox:latest docker.io/library/busybox:latest 查看本地镜像[rootdocker ~]dockerimages i Info → U In Use IMAGE ID DISK USAGE CONTENT SIZE EXTRA busybox:latest 925ff61909ae4.42MB 0B#alpine 版本nginx镜像的最小安装发型版本2.3.查看镜像#查看系统中的镜像列表[rootdocker ~]dockerimages i Info → U In Use IMAGE ID DISK USAGE CONTENT SIZE EXTRA busybox:latest 925ff61909ae4.42MB 0B mysql:8.0 9340b388320f 781MB 0B nginx:1.26 64e5ac93d424 192MB 0B[rootdocker ~]##查看镜像的详细信息[rootDocker ~]dockerimage inspect nginx:1.26-alpine#查看对镜像的更改记录[rootdocker ~]dockerhistorybusybox IMAGE CREATED CREATED BY SIZE COMMENT 925ff61909ae18months ago BusyBox1.37.0(glibc), Debian134.42MB2.4.导出镜像[rootdocker ~]dockerimages IMAGE ID DISK USAGE CONTENT SIZE EXTRA busybox:latest 925ff61909ae4.42MB 0B mysql:8.0 9340b388320f 781MB 0B nginx:1.26 64e5ac93d424 192MB 0B[rootdocker ~]dockerimage save nginx:1.26-onginx-latest.tar[rootdocker ~]dockerimage save nginx:1.26-onginx-latest.tar.gz[rootdocker ~]lsanaconda-ks.cfg mysql-8.0.tar redis-7.4.8 config-ens.sh nginx-1.26.tar redis-7.4.8.tar.gz ip.sh nginx-latest.tar.gz sysnc_nfs.sh#保存所有镜像[rootDocker ~]dockersavedockerimages|awkNR1{print $1:$2}-oimages.tar.gz-o指定导出镜像的位置可以同时导出多个镜像到一个文件中指定.tar.gz 可以导出并压缩。2.5.删除镜像[rootDocker-node1 ~]dockerrmi nginx:latest 删除全部镜像[rootDocker-node1 ~]dockerrmidockerimages|awkNR1{print $1:$2}2.6.容器常用命令[rootDocker~]dockerrun-d--namemario-p80:8080 whw/mario[root3ba22e59734f /]#进入到容器中按ctrld退出并停止容器#按ctrlpq退出但不停止容器#重新进入容器[rootdocker ~]dockerattach mario[root3ba22e59734f /]##在容器中执行命令[rootdocker ~]# docker exec -it test ifconfiglo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0(0.0B)TX bytes:0(0.0B)-d #后台运行-i #交互式运行-t #打开一个终端–name #指定容器名称-p #端口映射 -p 808080 把容器8080端口映射到本机80端口–rm #容器停止自动删除容器–network #指定容器使用的网络2.6.1查看容器信息[rootDocker ~]dockerps#查看当前运行容器[rootdocker ~]dockerpsCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES[rootDocker ~]dockerps-a#查看所有容器[rootdocker ~]dockerps-aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES[rootDocker ~]dockerinspect busybox#查看容器运行的详细信息2.6.2运行、停止和删除容器[rootDocker ~]dockerstop busybox#停止容器[rootDocker ~]dockerkillbusybox#杀死容器可以使用信号[rootDocker ~]dockerstart busybox#开启停止的容器[rootDocker ~]dockerrmmario#删除停止的容器[rootDocker ~]dockerrm-fbusybox#删除运行的容器[rootDocker ~]dockercontainer prune-f#删除所有停止的容器2.6.3器内容提交默认情况下容器被删除后在容器中的所有操作都会被清理包括要保存的文件如果想永久保存那么我们需要把动作提交提交后会生成新的镜像当我们在运行新镜像后即可看到我们提交的内容[rootdocker ~]dockerrun-it--nametestbusybox /# touch file #在容器中建立文件/# lsbin etc home lib64 root tmp var devfilelib proc sys usr /# [rootdocker ~]#[rootdocker ~]#[rootdocker ~]# docekr rm test-bash: docekr未找到命令[rootdocker ~]# docker rm testError response from daemon: cannot remove container/test:container is running: stop the container before removing or force remove[rootdocker ~]# docker rm test -ftest[rootdocker ~]# docker run -it --name test busybox/# ls #删掉容器后在开启发现文件不在了bin etc lib proc sys usr dev home lib64 root tmp var /# [rootdocker ~]#[rootdocker ~]#[rootdocker ~]# docker commit -m add file test busybox:v1sha256:a8ae2a17851f446d0bca5bc313aea24549e6a120a2c8f1613bcb12e0a6ad4331[rootdocker ~]# docker imagesi Info → U In Use IMAGE ID DISK USAGE CONTENT SIZE EXTRA busybox:latest 925ff61909ae4.42MB 0B busybox:v1 a8ae2a17851f4.42MB 0B mysql:8.0 9340b388320f 781MB 0B nginx:1.26 64e5ac93d424 192MB 0B[rootdocker ~]# docker image history busybox:v1IMAGE CREATED CREATED BY SIZE COMMENT a8ae2a17851f22seconds agosh3Baddfile925ff61909ae18months ago BusyBox1.37.0(glibc), Debian134.42MB[rootdocker ~]#此方法不利于企业审计所以不推荐使用在企业中我们多用Dockerfile来构建镜像2.6.4系统中的文件和容器中的文件的传输[rootDocker~]dockercptest2:/file /mnt#把容器中的文件复制到本机Successfully copied1.54kB to /mnt[rootDocker ~]dockercp/etc/fstab test2:/fstab#把本机文件复制到容器中2.6.5查询容器内部日志[rootdocker ~]dockerlogstest/# lsbin etc lib proc sys usr dev home lib64 root tmp var
企业数字化 ERP 产品动态
相关推荐
I2C总线深度解析:从开漏输出到多主仲裁的RTL实现与调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 15:38:47
新手学C语言环境配置:Qt Creator+MinGW实战指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 15:38:35
RedwoodJS 部署指南:从 Serverless 到 Baremetal 的全目标部署体系解析 后端前端Web框架开发工具 【免费下载链接】redwood RedwoodGraphQL 项目地址: https://gitcode.com/gh_mirrors/re/redwood 点击查看 免费下载 Redwood 框架从设计之初就同时面向 serverless 与传统服务器两类基础设施,并为两者提供了统一的持续部署流程… · 2026/9/24 16:02:42
国家中小学智慧教育平台电子课本三步存为 PDF 国家中小学智慧教育平台电子课本三步存为 PDF 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。 项目地址: https://gitcode.c… · 2026/9/24 16:02:36
Akka Streams 快速入门:从第一个 Source 到背压与物化值完整实战指南 Akka Streams 快速入门:从第一个 Source 到背压与物化值完整实战指南 【免费下载链接】akka-core A platform to build and run apps that are elastic, agile, and resilient. SDK, libraries, and hosted environments. 项目地址: https://gitcode.com/gh_mirro… · 2026/9/24 16:02:36
Relay 开发工作流:Relay Compiler 的配置、运行与产物生成实战指南 前端开发工具 【免费下载链接】relay Relay is a JavaScript framework for building data-driven React applications. 项目地址: https://gitcode.com/gh_mirrors/relay29/relay 点击查看 免费下载 本篇技术指南以 Relay 的"工作流(Workflow&… · 2026/9/24 16:02:36
shadcn-vue Scroll Area 组件实战:基于 reka-ui 的跨浏览器自定义滚动区 UI组件前端 【免费下载链接】shadcn-vue Vue port of shadcn-ui 项目地址: https://gitcode.com/gh_mirrors/sh/shadcn-vue 点击查看 免费下载 本指南以 shadcn-vue 仓库中 Scroll Area 官方文档 为骨架,深入讲解该组件的安装方式、结构组成与用法。Scr… · 2026/9/24 16:02:36
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程 简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13
1D-CNN时间序列建模实战:从Conv1d原理到工业落地 简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26
柔软的L:汉语语流中被忽视的舌肌张力控制 1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44