docker概述与安装及运行容器

传统虚拟化
传统虚拟化步骤
1、安装虚拟化软件以及虚拟化的管理软件
2、创建虚拟机
3、给虚拟机安装os
4、在虚拟机内部不是应用(http、db之类的应用)
传统虚拟化的特点
1、VM与VM之间是完全隔离的,并且虚拟机必须要安装os
2、应用所运行的环境是建立在操作系统之上的
3、应用迁移非常笨重
传统虚拟化已经无法满足当前敏捷开发方式,VM的方式会导致开发环境和生产环境不一致,版本测试完成之后需要重新搭建环境。
docker
docker是容器的引擎工具,最主要是管理容器的生命周期,创建容器、管理容器、管理镜像等。容器是没有操作系统的概念,容器通过image来启动。当你通过一个image创建和启动一个容器的时候,容器内的进程就已经启动了。一旦容器内的process意外退出,容器也就死亡。即进程在容器在,进程毁容器亡。容器与容器之间隔离通过namespace(命名空间隔离),对于Linux操作系统而言一定存在namespace,无需另外安装。
一个完整的docker由四个部分组成:
docker client客户端
docker daemon守护进程
docker image镜像
docker container容器
docker功能特性
隔离环境(系统、网络、文件系统)与应用
解决依赖与版本问题
易于分发开箱即用
节点与容器快速扩容
镜像制作简单便捷,管理方便。
隔离
通过cgroup(隔离和跟踪资源的使用)和namespace(组与组之间隔离)来实现轻量级的进程隔离。
对应容器中运行的进程来说,自己独占了一个系统。
容器间网络、文件及其他资源都互相隔离。
版本与依赖
传统模式下,多个不同环境或版本的项目需要部署在不同机器上,部署与后期维护管理复杂繁琐。
使用docker通过多个不同版本或环境的镜像,可以同时运行在一台机器上互不干扰,部署与后期维护简单方便。
分发与使用
镜像可以通过导入、导出、上传到镜像仓库等多种方式进行分发。
在启动了docker的系统上直接使用docker run即可启动镜像,无需特别配置。
扩容
容器扩容简单方便
扩容节点只需安装并启动docker即可
镜像制作
镜像的灵魂dockerfile
使用dockerfile进行指令控制
基于linux命令易于理解快速上手
易于定制与修改
应用场景
web应用的自动化打包和发布
自动化测试和持续集成、发布
应用服务,如mysql、redis等通过docker实现快速部署
k8s私有云
安装环境
系统:centos 7.4 minimal
分区:
/boot xfs 500M
swap 不使用
/ 剩余全部
安装docker
1、安装docker作为容器的引擎工具
yum install -y docker
2、启动docker服务
systemctl enable docker
systemctl start docker
3、搜索image
docker通过image来创建和启动容器,image在镜像仓库内。仓库分为公有仓库(如docker.io)和私有仓库。在默认情况下docker会访问公有仓库,docker会拉取公有仓库的image。
docker search centos
搜索公有仓库中含有centos关键字的image。
4、下载image
docker pull docker.io/centos
pull即从公有仓库中拉取image到本地。
5、查看本地image
docker images
6、启动容器
docker run -d docker.io/centos
-d即后端运行
7、查看容器
docker ps
dockers ps -a
没有结果即没有运行的容器,可能的原因是这个容器内没有进程。
进程来源于执行一个可执行文件。
使用docker通过一个image创建一个容器,容器内就会有进程,image内嵌入一条可执行的文件(命令)。通过这个image去创建一个容器的时候,会执行这个可执行文件,从而产生前端进程。
docker.io/centos这个image不含有可执行文件,也没有触发一个可执行文件。所以创建这个容器的时,容器立即退出了。
docker run -ti docker.io/centos /bin/bash
-ti交互式运行
8、查看容器内的的进程
docker top
docker top d54
d54容器短id
9、查看容器参数
docker inspect d54
10、查看容器id
docker ps -q
11、查看容器日志
docker logs d54
12、删除容器
docker rm d54
如果一个容器处于running状态无法删除。
docker rm $(docker ps -qa)
13、停止容器
docker stop d54
停止后的容器可以被删除。
14、容器内的操作
yum intall -y net-tools
15、进入容器
docker exec -ti 35d /bin/bash
16、启动指定容器的参数
指定容器主机名
docker run -d -t --hostname=servera.example.com docker.io/centos
指定dns
docker run -d -t --hostname=serverb.example.com --dns 8.8.8.8 --dns 4.4.4.4 docker.io/centos
指定ip
docker run -d -t --hostname=serverc.example.com --dns 8.8.8.8 --dns 4.4.4.4 --ip=192.168.0.222 docker.io/centos
定义变量
docker run -d -e name=test -e MYSQL_USER=root -ti docker.io/centos /bin/bash
容器退出后自动重启容器
docker run -d --restart=always -e MYSQL_USER=root -ti docker.io/centos /bin/bash
自动重启3次失败后将不再重启
docker run -d --restart=on-failure:3-e MYSQL_USER=root -ti docker.io/centos /bin/bash
查看启动帮助
docker run --help

原文地址:https://www.cnblogs.com/yinshoucheng-golden/p/10959978.html

时间: 2024-11-05 19:05:54

docker概述与安装及运行容器的相关文章

Docker概述与安装(官网译)

1.Docker概述 原文地址:https://docs.docker-cn.com/engine/docker-overview/#docker-engine Docker是一个开发,集装,运行应用程序的开放平台.Docker使您可以将应用程序与基础架构分离,以便快速交付软件.使用Docker,您可以像管理应用程序一样管理基础架构.通过利用Docker的方法快速集装,测试和部署代码,您可以显着减少编写代码和在生产中运行代码之间的延迟. 2.Docker平台 Docker提供了在称为容器的松散隔

docker概述&花式安装

docker概述: 什么是Docker? Docker是一种Linux容器技术,一种高效.敏捷.和轻量级的容器解决方案,并且支持在多种主流平台(PaaS)和本地部署.Docker是基于Go语言实现的云kai源项目,诞生于2013年,最初发起者是DotCloud公司,后来改名为DockerInc,之后专注于Docker相关技术和产品的kai发.Docker项目目前已经加入了Linux基金会,遵循Apache2.0kai源协议,全部kai源dai码均在https://github.com/docke

Docker简介、安装、运行Nginx

一.Docker相关介绍 相关介绍参考地址:https://www.runoob.com/docker/docker-tutorial.html Docker官方文档:https://docs.docker.com/ 二.安装 1.安装环境(Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker .) Centos版本 Version: 7.6 Docker版本 Version: 19.03.1 查看系统内核 un

mongodb 学习笔记 01 -- 概述,安装,运行

mongodb 概述 mongodb 是文档型NoSQL数据库,存储 bson–> json二进制.内部执行引擎为js解释器,把文档存储成bson结构,在查询时,转化为js对象.并可以通过js语法操作. mongodb 与传统数据库比 传统数据库是结构化数据库,列的个数类型都一样 文档数据库 以文档为单位 比如: { id:1, name: "billvsme", age:21, } { id:2, name: "zhangshan", phone:12313

docker常用镜像安装及运行

# redis## 下载镜像> docker pull daocloud.io/daocloud/dao-redis:master-init ## 运行> docker run -p 6379:6379 -d --name redis --restart=always redis # zookeeper ## 下载镜像> docker pull zookeeper:latest ## 启动zookeeper> docker run -d --name zookeeper --pub

docker(ubuntu)中安装cron运行crontab定时任务

1.安装cron apt-get install cron 设置crontab定时任务 crontab -e */1 * * * * /usr/bin/python /python/asch-check.py 编辑输入以上(表示1分钟执行一次asch-check.py脚本) 启动:service cron start 2.安装日志服务rsyslog apt-get install rsyslog 启动 service rsyslog start 编辑设置 vi /etc/rsyslog.d/50

docker安装 镜像和容器的操作

目录 1 docker 介绍 3 centos安装docker 2 容器和镜像 3 加速配置 4 镜像操作 5 容器操作 1 docker 介绍 # 1 虚拟化--->虚拟机,硬件虚拟化 # 2 docker:centos系统-->大约90m # 3 开源项目,诞生于2013---->17年以后-->两年多的时间 # 4 基于go语言实现的--->docker ce:免费的 docker ee:收费 # 5 轻量级的操作系统虚拟化解决方案 # 6 Docker 的基础是 Li

容器管理之--Docker概述

1.Docker概述Docker是使用最广泛的开源容器引擎,一种操作系统级别的虚拟化技术,依赖linux内核特性,一个简单的引用程序打包工具.2.Docker组成Docker Client 客户端Docker Daemon Docker ImagesDocker ContainerDocker Registry3.容器VS虚拟化 container VM 启动级别 秒级 分钟级 运行性能 接近原生系统 5%左右损耗 磁盘占用 MB GB 数量 成百上千 几十台 隔离性 进程级 系统级,更彻底 操

LCOW —— 单一Docker引擎下可同时运行Linux和Windows容器啦!

https://blog.csdn.net/m2l0zgssvc7r69efdtj/article/details/79251059 就在上周,Docker官方的master分支上新增了LCOW(Linux Containers on Windows)[1]功能.启用这项功能,即可在单一的Docker引擎下,同时运行Linux和Windows容器.下面赶紧跟小编一起,看看Windows 10将会发生哪些变化? 可以用Docker命令docker ps,列出所有正在运行的Linux或Windows