首页 > 其他分享 >初识Docker

初识Docker

时间:2023-09-09 12:44:25浏览次数:42  
标签:容器 依赖 虚拟机 初识 镜像 Docker docker

一、何为docker

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

1、Docker如何解决大型项目的依赖关系复杂,不同组件依赖的兼容性问题?

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

(2)、Docker应用运行在容器中,使用的是沙箱机制,相互隔离

2、Docker如何解决开发、测试、生产环境有差异的问题

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

3、Docker是一个快速交付引用、运行应用的技术

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

(2)、运行利用沙箱机制形成的隔离容器,各应用之间互不干扰

(3)、启动、移出都可以通过一个命令完成,方便快捷

二、Docker与虚拟机

Docker和虚拟机的差异

(1)、docker是一个系统进程;虚拟机是在操作系统中的操作系统

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

三、Docker架构

1、镜像和容器

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

容器(Container):镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器做隔离,对外不可见。一个镜像可以运行多个容器。

2、Docker和DockerHub

(1)、DockerHub是一个Docker镜像的托管平台。这样的平台称为Docker Registry。

(2)、国内也有类似的DockerHub 的公开服务,比如网易云镜像服务阿里云镜像库等。

3、docker架构

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

(1)、服务器(server):Docker守护进程,负责处理Docker指令,管理镜像、容器等。

(2)、客户端(client):通过命令或RestAPI向Docker服务器端发送指令。可以在本地或远程向服务器端发送指令。

四、Docker的安装

1、CentOS安装Docker

1.1、卸载(可选)

手动卸载旧版本:

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

1.2、安装docker

官方脚本一键安装命令:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

国内daocloud一键安装命令:

curl -sSL https://get.daocloud.io/docker | sh

(注意:Docker应用需要用到各种端口,需要逐一去修改防火墙设置。非常麻烦。建议学习的话就直接关闭防火墙)

# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
# 开启
systemctl start firewalld
# 启动docker
systemctl start docker
# 查看docker状态
systemctl status docker // 返回有active(running)
docker -v //查看docker版本

2、配置镜像

国内镜像:阿里云的 镜像加速器

 

标签:容器,依赖,虚拟机,初识,镜像,Docker,docker
From: https://www.cnblogs.com/itchenbin/p/17689104.html

相关文章

  • ​DockerFile简介+镜像构建
    1)Dockerfile简介由一系列命令和参数构建成的脚本构建三步骤编写Dockerfile文件==>dockerbuild(打包为镜像)==>dockerrun1)每条保留字指令都必须为大写字母且后面要跟随至少一个参数。2)指令按照从上到下的顺序执行3)#表示注释4)每条指令都会创建一个新的镜像层,并对镜像进行提交2......
  • dockerfile entrypoint cmd 同时使用
    CMD与ENTRYPOINT都是用于指定启动容器执行的命令,区别在于:当dockerrun命令中有参数时,守护进程会忽略CMD命令。使用ENTRYPOINT指令不会忽略,并且会接收dockerrun参数附加到命令行中。dockerrun的命令,相当于新加的CMD,会覆盖原有的CMDnginx的镜像就是这样。dockerrun......
  • docker-compose 启动出现警告,关闭时出现错误
    docker-compose启动出现警告,关闭时出现错误WARNING:Foundorphancontainers(xxxxxx)forthisproject.Ifyouremovedorrenamedthisserviceinyourcomposefile,youcanrunthiscommandwiththe--remove-orphansflagtocleanitup原因是projectname命名......
  • Docker(2)--图形化及编排
    1.Docker图形化界面图形化界面直接使用命令下载,其本身也是一个镜像dockerrun-id-p8000:8000-p9000:9000--name=portainer  --restart=always  -v/var/run/docker.sock:/var/run/docker.sock  -vportainer_data:/data  portainer/portainer ......
  • docker安装rocketmq
    dockerpullrocketmqinc/rocketmqmkdir-p/mydata/rocketmq/data/namesrv/logs/mydata/rocketmq/data/namesrv/storedockerrun-d--restart=always--namermqnamesrv-p9876:9876-v/mydata/rocketmq/data/namesrv/logs:/root/logs-v/mydata/rocketmq/dat......
  • docker containerd runc 介绍
    containerd提供了一组运行容器的API。Docker引擎通过调用GRPCAPI来启动执行进程,随后会启动管理器和执行器来负责监控和运行容器。容器最后通过runC来运行,runC也是Docker的另一个开源项目,它实现了OCI运行时标准。(OCI:开放容器协议,OCI开发了runC)。runC是一套符合OCI标准的......
  • docker常用功能小记
    1、查看docker容器、镜像的元数据dockerinspect容器ID/镜像IDdockerinspectimages示例如下:应用:查看容器关于目录挂载的信息:dockerinspectxxxx|grepMounts-A50查看挂载数据Mounts后50行的数据,如下:2、查看容器运行的日志实时查看日志dockerlogs-fcontainer......
  • docker常用命令
    docker镜像迁移服务器A打包生成docker镜像dockersavenginx:stable-alpine>/data/softs/nginx-stable-alpine.tar命令详解:dockersave[OPTIONS]IMAGE[IMAGE…]dockersave镜像名称:镜像tag>打包生成的镜像tar包的绝对路径上传tar包到服务器B执行镜像导入:dockerloa......
  • NAS 后台安装 Docker 后配置 PostgreSQL
    群晖(Synology)NAS的后台在新版本对Docker不再称为Docker,现在改称为ContainerManager了。  单击进入后运行ContainerManager。PostgreSQL容器针对PostgreSQL的容器,我们选择容器后,如果你已经安装了PostgreSQL的话,应该就能看到运行的容器了。  然后选择设置。在Post......
  • 群晖(Synology)NAS 后台安装 Docker 后配置 PostgreSQL
    群晖(Synology)NAS的后台在新版本对Docker不再称为Docker,现在改称为ContainerManager了。  单击进入后运行ContainerManager。PostgreSQL容器针对PostgreSQL的容器,我们选择容器后,如果你已经安装了PostgreSQL的话,应该就能看到运行的容器了。  然后选择设......