Docker介绍

Docker 起源于2013年。
Docker 是一个开源的应用容器引擎,基于 Go语言开发,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的系统。

优点:

  • 可以用来快速交付应用。加快打包时间,加快测试,加快发布,缩短开发及运行代码之间的周期。
  • 复杂环境管理,应用隔离:不同软件运行环境兼容依赖问题,开发环境/测试环境/线上环境保持一致。
  • 轻量级:对于系统内核来说,一个docker只是一个进程,一个系统可以运行上千个容器。

Docker 与虚拟机的区别:

  • 容器与容器之间只是进程的隔离,而虚拟机是完全的资源隔离,包括内存、服务等。
  • 虚拟机的启动可能需要分钟级别(启动os),Docker 启动是秒级或者更短(不用启动os)。
  • 容器使用宿主操作系统的内核,而虚拟机使用完全独立的内核。

虚拟机

 容器

概念

  • Docker 镜像: Docker Images,每一个镜像都可能依赖一个或多个下层的镜像组成的另一个镜像,AUFS 文件系统。
  • Docker 仓库: Docker Registry,集中存放镜像的地方。
  • Docker 容器: Docker Containers,镜像运行后的进程

Docker安装 

linux-centos安装步骤:

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

添加源: yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装 Docker: yum -y install docker-ce

启动Docker:systemctl start docker 

查看Docker:docker ps

查看Docker版本: docker version

docker 常用命令

docker info 查看镜像、容器等信息 

 镜像管理

  • 查看所有镜像: docker images

  • 搜索镜像: docker search 镜像名

  • 拉取下载: docker pull 镜像名:版本(不指定版本默认下载最新版本)
  • 导出: docker save 镜像名 > 导出名称.tar
  • 导入: docker load < 导出名称.tar
  • 删除: docker rmi 镜像名:latest
  • 更改镜像名: docker tag 镜像名:latest 镜像名:test
  • 查看镜像创建历史:docker history 镜像名

容器管理

  • 运行容器: docker run -d --name=容器自定义名称 容器名:版本 ping 114.114.114.114
  • 查看运行的容器: docker ps,docker ps -a(查看所有容器,包含未运行的)
  • 查看容器中运行的进程: docker top 容器
  • 查看资源占用: docker stats 容器

  • 容器: docker start/restart/stop/kill 容器
  • 暂停容器: docker pause 容器

  • 强制删除容器: docker rm -f 容器
  • 执行命令: docker exec -it 容器  bash

  • 复制文件: docker cp 容器:/etc/hosts hosts
  • 查看容器日志: docker logs -f 容器
  • 查看容器/镜像的元信息: docker inspect 容器/镜像

  • 格式化输出:docker inspect -f '{{.Id}} '  容器/镜像

 

  • 查看容器内文件结构:docker diff 容器

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐