Docker 使用

Docker 容器技术

Docker 技术可以实现程序和宿主机的隔离。

什么是容器?

理解为对一系列应用程序、服务和环境的封装,从而把程序运行在一个隔离的、密闭的、隐私的空间内,对外整体提供服务。

可以把一个容器理解为一个新的电脑(定制化的操作系统)。

Docker 基本概念

镜像:用来创建容器的安装包,可以理解为给电脑安装操作系统的系统镜像

容器:通过镜像来创建的一套运行环境,一个容器里可以运行多个程序,可以理解为一个电脑实例

Dockerfile:制作镜像的文件,可以理解为制作镜像的一个清单

镜像仓库:存放镜像的仓库,用户可以从仓库下载现成的镜像,也可以把做好的镜像放到仓库里

推荐使用 docker 官方的镜像仓库:https://hub.docker.com/search?q=nginx

Docker 实现核心

1)Docker 运行在 Linux 内核上

2)CGroups:实现了容器的资源隔离,底层是 Linux Cgroup 命令,能够控制进程使用的资源

3)Network 网络:实现容器的网络隔离,docker 容器内部的网络互不影响1684561774759645186_0.5463298414804811

4)Namespaces 命名空间:可以把进程隔离在不同的命名空间下,每个容器他都可以有自己的命名空间,不同的命名空间下的进程互不影响。

5)Storage 存储空间:容器内的文件是相互隔离的,也可以去使用宿主机的文件

docker compose:是一种同时启动多个容器的集群操作工具(容器管理工具),一般情况下,开发者仅做了解即可,实际使用 docker compose 时去百度配置文件

Docker 命令

启动 docker 命令

java 复制代码
sudo systemctl start docker

查看组命令

java 复制代码
cat /etc/group

过滤 docker : 查看 docker 组中用户

如果没有 docker 组添加 docker 组命令 :

把用户添加到 docker 组中命令 :

更新 docker 信息 :


相关推荐
AI进化营-智能译站3 分钟前
ROS2 C++开发系列16-智能指针管理传感器句柄|告别ROS2节点内存泄漏与野指针
java·c++·算法·ai
TeDi TIVE43 分钟前
springboot和springframework版本依赖关系
java·spring boot·后端
二哈赛车手43 分钟前
新人笔记---ES和kibana启动问题以及一些常用的linux的错误排查方法,以及ES,数据库泄密解决方案[超详细]
java·linux·数据库·spring boot·笔记·elasticsearch
嵌入式×边缘AI:打怪升级日志1 小时前
嵌入式Linux开发核心自测题(全系列精华浓缩)
java·linux·运维
FQNmxDG4S1 小时前
JVM内存模型详解:堆、栈、方法区与垃圾回收
java·jvm·算法
jason.zeng@15022072 小时前
Androidr入门环境搭建
java·kotlin
摇滚侠2 小时前
整洁的桌面和任务栏 Java 开发工程师提效方法
java·开发语言
每天都要加油呀!2 小时前
多租户中间件适配
java·多租户
014-code3 小时前
Java 并发中的原子类
java·开发语言·并发
AI人工智能+电脑小能手3 小时前
【大白话说Java面试题】【Java基础篇】第29题:静态代理和动态代理的区别是什么
java·开发语言·后端·面试·代理模式