首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

Linux----Docker详解

  • 25-03-07 17:41
  • 4246
  • 8519
blog.csdn.net

葡萄美酒夜光杯,欲饮琵琶马上催。 醉卧沙场君莫笑,古来征战几人回? 

目录

一,docker简介

二,docker架构

三,docker安装

四,docker常见操作

五,容器操作

六,数据卷

一,docker简介

虚拟机和docker有什么区别呢?

虚拟机是在操作系统中模拟硬件设备,然后运行另一个操作系统,比如在windows系统里面运行Centos系统,这样就可以运行任意的Centos应用了。

Docker仅仅是封装函数库,并没有模拟完整的操作系统,请看下图:

注意:

docker是一个系统进程,虚拟机是在操作系统中的操作系统

docker体积小,启动速度快,性能好;虚拟机体积大,启动速度慢,性能一般

docker有什么优点呢?

docker允许开发中将应用,依赖,函数库,配置一起打包,形成可移植镜像

docker应用运行在容器中,使用沙箱机制,相互隔离

docker镜像中包含完整运行环境,包括系统函数库,仅依赖系统的Linux内核,因此可以在任意Linux操作系统上运行

docker可以将程序及其依赖,运行环境一起打包为一个镜像,可以迁移到任意Linux操作系统

docker运行时利用沙箱机制形成隔离容器,各个应用互不干扰

启动,移除都可以通过一行命令完成,方便快捷

二,docker架构

首先介绍下相关概念:

镜像:docker将应用程序及其所需的依赖,函数库,环境,配置等文件打包在一起,称为镜像,这个文件包是只读的。

容器:镜像中的应用程序运行后形成的进程就是容器,只是docker会给容器进程做隔离,对外不可见,容器可以被创建,启动,停止,删除,暂停等。一个镜像可以启动多次,形成多个容器进程。

仓库:集中存放镜像文件的地方。

docker架构:

docker是一个cs架构的程序,由两部分组成:

服务端:docker守护进程,负责处理docker指令,管理镜像,容器等

客户端:通过命令或RestApi向docker服务端发送指令,可以在本地或远程向服务端发送指令

三,docker安装

首先查看Linux内核版本:

  1. (base) zhengguiliang 17:40:23 ~/yz
  2. $ uname -r
  3. 4.18.0-553.el8_10.x86_64

Linux内核版本在3.10以上才可以安装

移除旧版本:

  1. (base) zhengguiliang 17:41:11 ~/yz
  2. $ yum remove docker docker-common docker-selinux docker-engine
  3. $ yum remove docker-ce

安装依赖软件包:

  1. (base) zhengguiliang 17:43:36 ~/yz
  2. $ yum install -y yum-utils device-mapper-persistent-data lvm2

安装docker-ce

  1. (base) zhengguiliang 17:43:36 ~/yz
  2. $ yum -y install docker-ce

启动docker,并设置为开机自动启动

  1. #启动docker服务
  2. systemctl start docker
  3. #设置开机自动启动
  4. systemctl enable docker

四,docker常见操作

拉取自己需要的镜像:

docker pull nginx

 查看拉取到的镜像:

docker images

删除本地镜像:

docker rmi nginx:katest

导出镜像:

docker save -o nginx.tar nginx:latest

加载镜像:

docker load -i nginx.tar

五,容器操作

容器保护三个状态:

运行:进程正常运行

暂停:进程暂停,CPU不再运行,并不释放内存

停止:进程终止,回收进程占用的内存,CPU等资源

docker run:创建并运行一个容器,处于运行状态

docker pause:让一个运行的容器暂停
docker unpause:让一个容器从暂停状态恢复运行
docker stop:停止一个运行的容器
docker start:让一个停止的容器再次运行
docker rm:删除一个容器

 查看正在运行的容器:

  1. # 查看全部的容器,包括没有运行
  2. docker ps -a
  1. # 简单操作
  2. docker run 镜像的标识|镜像名称[tag]
  3. # 常用的参数
  4. docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像的标识|镜像名称[tag]
  5. #-d:代表后台运行容器
  6. #-p:宿主机端口:容器端口:为了映射当前Linux的端口和容器的端口
  7. #-i:保持docker和容器内的交互,启动容器时,运行命令结束,容器依然存活
  8. #-t:为容器的标准输入拟一个tty
  9. #--name 容器名称:指定容器的名称
  10. #--rm 容器启动后就销毁

进入容器:

docker exec -it 容器id bash

dockerexec:进入容器内部,执行一个命令
-it:给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互
qf:要进入的容器的名称
bash:进入容器后执行的命令,bash是一个linux终端交互命令

 查看容器日志:

docker logs -f 容器id

删除容器:

  1. #停止指定的容器
  2. docker stop 容器id/容器名称
  3. #停止全部容器
  4. docker stop $(docker ps -qa)
  5. #删除指定容器
  6. docker rm 镜像id/容器名称
  7. #删除全部容器
  8. docker rm $(docker ps -qa)

启动容器:

docker start 容器id/容器名称

六,数据卷

数据卷是一个虚拟目录,指向宿主机文件系统中的某个目录。

一旦完成数据卷挂载,对容器的一切操作都会作用在数据卷对应的宿主机目录了。

docker volume [COMMAND]

docker volume create:创建数据卷
docker volumels:查看所有数据卷
docker volumeinspect:查看数据卷详细信息,包括关联的宿主机目录位置
docker volumerm:删除指定数据卷
docker volume prune:删除所有未使用的数据卷

 

注:本文转载自blog.csdn.net的袁震的文章"https://blog.csdn.net/y2653904/article/details/140801998"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2491) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

133
开发工具
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top