Docker相关

Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了 Docker,就不用担心环境问题。

容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。传统虚拟机方式运行 10 个不同的应用就要起 10 个虚拟机,而Docker 只需要启动 10 个隔离的应用即可。

Docker vs VM
从下图可以看出,VM是一个运行在宿主机之上的完整的操作系统,VM运行自身操作系统会占用较多的CPU、内存、硬盘资源。Docker不同于VM,只包含应用程序以及依赖库,基于libcontainer运行在宿主机上,并处于一个隔离的环境中,这使得Docker更加轻量高效,启动容器只需几秒钟之内完成。由于Docker轻量、资源占用少,使得Docker可以轻易的应用到构建标准化的应用中。但Docker目前还不够完善,比如隔离效果不如VM,共享宿主机操作系统的一些基础库等;网络配置功能相对简单,主要以桥接方式为主;查看日志也不够方便灵活。

相关概念
Docker是CS架构,主要有两个概念:
Docker daemon: 运行在宿主机上,Docker守护进程,用户通过Docker client(Docker命令)与Docker daemon交互
Docker client: Docker 命令行工具,是用户使用Docker的主要方式,Docker client与Docker daemon通信并将结果返回给用户,Docker client也可以通过socket或者RESTful api访问远程的Docker daemon


Docker image:镜像是只读的,镜像中包含有需要运行的文件。镜像用来创建container,一个镜像可以运行多个container;镜像可以通过Dockerfile创建,也可以从Docker hub/registry上下载。Docker container:容器是Docker的运行组件,启动一个镜像就是一个容器,容器是一个隔离环境,多个容器之间不会相互影响,保证容器中的程序运行在一个相对安全的环境中。Docker hub/registry: 共享和管理Docker镜像,用户可以上传或者下载上面的镜像,官方地址为https://registry.hub.docker.com/,也可以搭建自己私有的Docker registry。

镜像就相当于打包好的版本,镜像启动之后运行在容器中,仓库就是装存储镜像的地方。

如果对容器的底层镜像进行修改,那么当前正在运行的容器是不受影响的,不会发生自动更新现象。

常用命令

除过以上我们使用的Docker命令外,Docker还有一些其它常用的命令
拉取docker镜像 :docker pull image_name

查看宿主机上的镜像,Docker镜像保存在/var/lib/docker目录下:docker images

删除镜像:docker rmi  docker.io/tomcat:7.0.77-jre7   或者  docker rmi b39c68b7af30

查看当前有哪些容器正在运行:docker ps

查看所有容器:docker ps -a

启动、停止、重启容器命令:docker start container_name/container_id
docker stop container_name/container_id
docker restart container_name/container_id

后台启动一个容器后,如果想进入到这个容器,可以使用attach命令:docker attach container_name/container_id

删除容器的命令:docker rm container_name/container_id

删除所有停止的容器:docker rm $(docker ps -a -q)

查看当前系统Docker信息 : docker info

从Docker hub上下载某个镜像:
docker pull centos:latest
docker pull centos:latest

查找Docker Hub上的nginx镜像

docker search nginx

执行docker pull centos会将Centos这个仓库下面的所有镜像下载到本地repository。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 什么是Docker?为什么要使用DockerDocker是一种容器化技术,可以将应用程序打包成容器,使其能够在任何环境中运行,而不需要担心环境差异问题。Docker可以提高应用程序的可移植性、可伸缩性和安全性。 2. Docker和虚拟机的区别是什么? 虚拟机是一种完整的操作系统虚拟化技术,而Docker是一种应用程序级别的虚拟化技术。虚拟机需要模拟整个操作系统,包括内核、系统服务等,而Docker只需要模拟应用程序的运行环境。因此,Docker比虚拟机更轻量级、更快速、更节省资源。 3. Docker的三个基本组件是什么? Docker的三个基本组件是Docker Engine、Docker Hub和Docker CLI。Docker Engine是Docker的核心组件,负责管理Docker容器和镜像。Docker Hub是Docker的公共镜像仓库,用户可以在其中分享和下载镜像。Docker CLI是Docker的命令行接口,用户可以使用Docker CLI来创建、管理和运行Docker容器。 4. Docker的镜像和容器是什么? Docker镜像是一个静态的文件,包含了应用程序运行所需的所有文件和依赖项。Docker容器是一个运行中的实例,它基于Docker镜像创建,包含了应用程序的运行环境和状态。 5. 如何创建Docker镜像? 创建Docker镜像的基本步骤是:创建一个Dockerfile文件,定义Docker镜像的构建过程;使用docker build命令构建Docker镜像;使用docker push将Docker镜像推送到Docker Hub镜像仓库中。 6. 如何创建Docker容器? 创建Docker容器的基本步骤是:使用docker run命令创建Docker容器,并指定所需的Docker镜像和容器的名称;使用docker start、docker stop、docker restart等命令管理Docker容器的生命周期。 7. 如何保证Docker容器的安全性? 保证Docker容器的安全性可以从以下几个方面入手:使用最小化的Docker镜像和应用程序;限制Docker容器的权限;监控Docker容器的运行状态;及时更新Docker镜像和应用程序等。 8. 如何扩展Docker容器? 扩展Docker容器可以从以下几个方面入手:使用Docker Swarm或Kubernetes等容器编排工具管理多个Docker容器;使用Docker Compose将多个Docker容器组合成一个应用程序;使用Docker网络使多个Docker容器之间进行通信。 9. 如何在Docker容器中运行多个服务? 在Docker容器中运行多个服务可以使用以下几种方式:使用Docker Compose将多个Docker容器组合成一个应用程序;使用Docker网络将多个Docker容器连接在一起;在Docker容器中运行多个进程,使用supervisord等工具管理进程。 10. 如何实现Docker容器的持久化存储? 实现Docker容器的持久化存储可以从以下几个方面入手:使用Docker数据卷将数据存储在主机上;使用Docker网络将数据存储在其他Docker容器中;使用第三方存储系统,如NFS、GlusterFS等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值