docker容器基础

一,容器优点

●灵活:即使是最复杂的应用也可以集装箱化。

●轻量级:容器利用并共享主机内核。

●可互换:可以即时部署更新和升级。

●便携式:可以在本地构建,部署到云,并在任何地方运行。

●可扩展:可以增加并自动分发容器副本。

●可堆叠:可以垂直和即时堆叠服务。

二,namespace的六项隔离

namespace 系统调用参数 隔离内容

UTS CLONE_NEWUTS 主机名与域名

IPC CLONE_NEWWIPC 信号量、消息队列和共享内存

PID CLONE_NEWPID 进程编号 重点

NETWORK CLONE_NEWNET 网络设备、网络栈、端口等 重点

MOUNT CLONE_NEWNS 挂载点(文件系统)

USER CLONE_NEWUSER 用户和用户组(3.8以后的内核才支持〉

三,docker核心概念

●镜像 image

Docker的镜像是创建容器的基础,类似虚拟机的快照,可以理解为一个面向 Docker 容器引擎的只读模板。

通过镜像启动一个容器,一个镜像是一个可执行的包,其中包括运行应用程序所需要的所有内容包含代码,运行时间,库、环境变量、和配置文件。

Docker镜像也是一个压缩包,只是这个压缩包不只是可执行文件,环境部署脚本,它还包含了完整的操作系统。因为大部分的镜像都是基于某个操作系统来构建,所以很轻松的就可以构建本地和远端一样的环境,这也是Docker镜像的精髓。

●容器 container

Docker的容器是从镜像创建的运行实例,它可以被启动、停止和删除。所创建的每一个容器都是相互隔离、互不可见,以保证平台的安全性。

可以把容器看做是一个简易版的linux环境(包括root用户权限、镜像空间、用户空间和网络空间等)和运行在其中的应用程序。

●仓库 repoistory

Docker仓库是用来集中保存镜像的地方,当创建了自己的镜像之后,可以使用push命令将它上传到公有仓库(Public)或者私有仓库(Private)。当下次要在另外一台机器上使用这个镜像时,只需从仓库获取。

Docker 的镜像、容器、日志等内容全部都默认存储在 /var/lib/docker

四,安装docker安装

systemctl stop firewalld.service
setenforce 0


#安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2 

#设置阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

#安装 Docker-CE并设置为开机自动启动
yum install -y docker-ce docker-ce-cli containerd.io
docker-ce-20.10.18

systemctl start docker.service
systemctl enable docker.service 

安装好的Docker系统有两个程序,Docker服务端和Docker客户端。其中Docker服务端是一个服务进程,负责管理所有容器。 Docker客户端则扮演着Docker服务端的远程控制器,可以用来控制Docker的服务端进程。大部分情况下Docker服务端和客户端运行在一台机器上。

五,docker操作

镜像加速下载:
访问https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors获得镜像加速

docker version  查看docker版本信息
docker pull 下载/拉取镜像
docker search 搜索镜像
docker images 查看镜像
docker tag  原仓库名/原镜像名:原标签  新原仓库名/新原镜像名:新原标签   创建镜像标签
docker push 登录公共仓库:标签  用户名  密码      上传镜像到共有仓库/私有仓库
docker rmi  删除镜像
docker save -o  导出镜像
docker login  登录仓库   -u 仓库用户名 -p 密码
docker inspect 容器/镜像id  查看详细信息
docker rm 删除容器
docker cp  复制  本地机器目录的文件拷贝到容器中
docker create 创建容器
docekr start 启动容器
docker exec -if 切换到容器内部
docker stop 关闭容器
docker run 创建并启动容器
dokcer ps -a 显示所有容器
docker load  导入容器
docker info  显示信息
docker export  导出容器实例为镜像
docker import 导入镜像
docker kill  强制关闭容器
相关推荐
spiker_3 小时前
RabbitMQ 常见使用模式详解
分布式·rabbitmq
不能再留遗憾了3 小时前
RabbitMQ 高级特性——持久化
分布式·rabbitmq·ruby
成为大佬先秃头3 小时前
解决RabbitMQ设置TTL过期后不进入死信队列
分布式·中间件·rabbitmq·java-rabbitmq
七夜zippoe5 小时前
分布式系统实战经验
java·分布式
nomi-糯米6 小时前
Fisco Bcos 2.11.0配置console控制台2.10.0及部署调用智能合约
分布式·网络安全·区块链·智能合约·分布式账本
喜欢猪猪6 小时前
Kafka是如何保证数据的安全性、可靠性和分区的
分布式·kafka
芊言芊语6 小时前
分布式消息服务Kafka版的详细解析和配置方式
分布式·kafka
Alluxio6 小时前
选择Alluxio来解决AI模型训练场景数据访问的五大理由
大数据·人工智能·分布式·ai·语言模型
沛沛老爹6 小时前
服务监控插件全览:提升微服务可观测性的利器
微服务·云原生·架构·datadog·influx·graphite
武子康7 小时前
大数据-133 - ClickHouse 基础概述 全面了解
java·大数据·分布式·clickhouse·flink·spark