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  强制关闭容器
相关推荐
hackchen3 小时前
NexusTerminal一款视频移动端的webSSH
docker·云原生·eureka·web-ssh
菜鸟康4 小时前
C++实现分布式网络通信框架RPC(3)--rpc调用端
分布式·网络协议·rpc
小葛呀6 小时前
互联网大数据求职面试:从Zookeeper到数据挖掘的技术探讨
大数据·redis·zookeeper·面试·互联网·数据采集·技术栈
代码丰7 小时前
使用Spring Cloud Stream 模拟生产者消费者group destination的介绍(整合rabbitMQ)
java·分布式·后端·rabbitmq
ahhhhaaaa-8 小时前
【k8s】阿里云ACK服务中GPU实例部署问题
阿里云·云原生·容器·kubernetes·云计算
熊出没8 小时前
阿里云云原生数据库PolarDB和普通云数据库的区别?
数据库·阿里云·云原生
.生产的驴9 小时前
SpringBoot 服务器监控 监控系统开销 获取服务器系统的信息用户信息 运行信息 保持稳定
服务器·spring boot·分布式·后端·spring·spring cloud·信息可视化
熊猫钓鱼>_>11 小时前
Python内存互斥与共享深度探索:从GIL到分布式内存的实战之旅
分布式
上海运维Q先生12 小时前
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
云原生·k8s·cilium
掘金-我是哪吒13 小时前
分布式微服务系统架构第147集:JavaPlus技术文档平台日更
分布式·微服务·云原生·架构·系统架构