docker简介与搭建

1 . 对docker的理解:

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

一个完整的Docker有以下几个部分组成:

  • DockerClient客户端
  • DockerClient客户端
  • Docker Image镜像
  • DockerContainer容器

Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。Docker 容器通过 Docker 镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。

Docker面向对象
容器对象
镜像

Docker采用 C/S架构 Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建、运行、分发容器)。 客户端和服务端既可以运行在一个机器上,也可通过 socket 或者RESTful API 来进行通信。

在这里插入图片描述
docker的优点:

  • 轻量级:所有容器在一台机器上共享同一个操作系统内核,这样他们立即开始,并更有效地利用内存。Image 是从分层文件系统的构建,这样他们能够共享公共文件,使得磁盘使用率和 Image 的下载更加高效。
  • 开放:Docker 容器是基于开发的标准,允许容器运行在主流的 Linux 发布版和 Microsoft 操作系统作为所有的基础设施。
  • 安全:容器使得应用程序彼此隔离,而基础架构同时为应用程序提供了额外的保护层。

Docker 与 虚拟机的区别

  • 每个虚拟机都包括应用程序、必要的二进制文件和库以及一个完整的客户操作系统(Guest OS),尽管它们被分离,它们共享并利用主机的硬件资源,将近需要十几个 GB 的大小。
  • 容器包括应用程序及其所有的依赖,但与其他容器共享内核。它们以独立的用户空间进程形式运行在主机操作系统上。他们也不依赖于任何特定的基础设施,Docker 容器可以运行在任何计算机上,任何基础设施和任何云上。

2 . docker部署

1 . 安装docker和相关依赖性

在官网进行下载:https://docs.docker.com/

安装docker,同时还会自动安装其他依赖软件,需要提前设置好系统yum源,可以使用7.3或者7.5的镜像源

yum install docker-ce.x86_64 docker-ce-cli.x86_64 containerd.io.x86_64 container-selinux.noarch -y

2.打开docker服务

systemctl start docker

3 . 安装bash等相关安装包,当使用docker的时候,发现可以成功补齐。

yum install -y bash-*

在这里插入图片描述

4 . 安装成功之后查看docker信息

系认会自动产生一个docker网络接口

在这里插入图片描述

3 . docker简单的用法

1 . docker的一些常用命令:(以ubuntu镜像为模板)

docker load -i ubuntu.tar导入镜像
docker run -it --name vm1 ubuntu创建容器
docker ps查看容器状态
docker ps -a查看容器状态(包括不活跃的容器)
docker images查看已导入的所有镜像
docker attach vm1连接容器
docker top vm1查看容器进程
docker logs vm1查看容器指令输出 -f 参数可以实时查看
docker inspect vm1查看容器详情
docker stats vm1查看容器资源使用率
docker diff vm1查看容器修改
docker start/stop vm1开启/停止 容器
docker kill vm1强制关闭容器
docker restart vm1重启容器
docker pause/unpause vm1暂停/恢复容器
docker rm vm1删除容器
docker rmi ubuntu删除镜像
docker version查看docker安装版本信息
docker info显示 Docker 系统信息,包括镜像和容器数

2 . docker 对镜像的所有操作命令

[root@docker ~]# docker image 
build    import   load     prune    push     save     
history  inspect  ls       pull     rm       tag      

3 . docker 对容器的所有操作命令

[root@docker ~]# docker container 
attach   diff     kill     port     rm       stop     wait
commit   exec     logs     prune    run      top      
cp       export   ls       rename   start    unpause  
create   inspect  pause    restart  stats    update   

4 . 运行一个简单的容器

docker load -i game2048.tar      # 导入镜像
docker run -d --name vm1 -p 80:80   game2048     # 运行容器   -d 是打入后台
--name 是给容器的命名 -p作端口预设    物理机端口:docker 端口
docker ps       # 查看运行的容器

在这里插入图片描述
浏览器访问查看运行结果:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/542006.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

007_Web to lead

转载于:https://www.cnblogs.com/bandariFang/p/6229491.html

设置header_Nginx的这些安全设置,你都知道吗?

Nginx 是最流行的 Web 服务器,可以只占用 2.5 MB 的内存,却可以轻松处理 1w 的 http 请求。做为网站的入口,Nginx 的安全设置重要性不言而喻。下面带你一起去认识一下这些安全配置吧!nginx.conf是 Nginx 最主要的配置文件&#xf…

ISP运营商实验室测试机架拓扑搭建经验分享

大家好,有些日子没更新干货了,近期难得有假期进行修整,思前顾后还是坐下来聊聊自己长期负责维护和搭建的实验室环境。废话不多说,直接上图。因为图较大,分上下部分进行上传。网络主框架(上)服务…

关于二手交易用户指南怎么写_让用户拍案叫绝文案怎么写?试试这3个方法

“共鸣”到底是什么? 为什么有些文章会引起共鸣,而有些则没有。现在假设为产品家用手持式美容仪写一份副本。 由于主要重点是“家庭使用”,因此您立即想到了“家庭美容”的口号。 尽管这句话很简单易懂,但谈论起来总是很简单……似…

Centos7+Nginx+Keepalived实现Apache服务的高可用负载均衡

Centos7NginxKeepalived实现Apache服务的高可用&负载均衡今天是2017年的第一天,昨天也就是2016年的最后一天,我尝试部署了Centos7NginxKeepalived实现WEB服务的高可用负载均衡服务,终于在2017年的第一天前完成了,所以在此分享…

docker设置镜像加速器

设置镜像加速器 一般情况下,直接从官方仓库中直接拉取镜像会比较慢,可以设置镜像加速器,相当于一个反向代理。以阿里云为例 1 . 首先获取自己的加速器地址 www.aliyun.com 登陆自己的账号(可以是支付宝账号) 首页点…

keytool条目_java keytool 常用命令

最近在做ssl连接active directory, 遇到了不少的ssl的问题。连接ssl时会需要用将证书保存到keystore, 而这个步骤刚好就用到了keytool命令。直接敲keytool会有提示如何用这个命令, 但对于完全不懂的我,还是找了下基本命令&#xf…

搭建Harbor私有仓库

1 首先装好docker: 由于之前已安装过,所以直接开起就行 2 . 安装python2.7以上版本 之前编译安装过7.3的,直接用吧 3 . 安装docker-compose docker容器管理工具,是habor的依赖之一。 curl -L "https://github.com/docker…

查看 mysql 状态_查看mysql状态的常用命令

在mysql客户端输入"show status"之后将会看到如下输出:如果想要查看某个具体的值,可以使用如下命令:show status LIKE "%具体变量%";Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量.A…

常用数学符号的读法及其含义

2019独角兽企业重金招聘Python工程师标准>>> 常用数学符号的读法及其含义 近来发现很多学生对一些数学符号的读法及其含义不是很清楚。今天特把一些常用的列表如下。希望能够提供一些帮助! 大写 小写 英文注音 国际音标注音 中文注音 Α…

POJ 3422 费用流

思路&#xff1a; 把每个方块拆成两个点 1个入点 1个出点 当前格子的入->出连费用-w[i][j] 容量1的边 当前格子的入->出连费用0 容量k-1的边 此格子的出向右&下&#xff08;如果有的话&#xff09;的格子的入连费用0容量k的边 //By SiriusRen #include <queu…

static和extern对函数的作用

2019独角兽企业重金招聘Python工程师标准>>> 外部函数&#xff1a;定义的函数能被本文件和其他文件访问 默认情况下所有函数都是外部函数 不允许有同名的外部函数内部函数&#xff1a;定义的函数只能被本文件访问&#xff0c;其他文件不能访问 允许不同文件中有同名…

MySQL从服务器写入报错吗_MySQL主从复制读写分离及奇怪的问题

一直都没有写blog的习惯&#xff0c;以前总觉得自己的脑子就是最好的记忆容器&#xff0c;现在觉得我好像有个假脑子。当时是使用阿里云镜像&#xff0c;安装了两台ECS&#xff0c;结果配置MySQL的时候出现了UUID重复问题。先从配置主从开始吧&#xff0c;值得记录。文中很多部…

flask mysql 版本_flask 数据库字段类型

使用flask_sqlalchemy首先引用一下廖雪峰Python教程里关于sqlalchemy的话&#xff0c;这里我们要讲的是flask_sqlalchemy的用法。1. 安装用pip安装即可&#xff0c; 进入cmd控制台输入pip install Flask-SQLAlchemy2. 引用引用方法有2种&#xff0c;旧的和新的。from f...文章邻…

Kafka的配置文件详细描述

在kafka/config/目录下面有3个配置文件&#xff1a; producer.propertiesconsumer.propertiesserver.properties (1).producer.properties:生产端的配置文件 #指定kafka节点列表&#xff0c;用于获取metadata&#xff0c;不必全部指定 #需要kafka的服务器地址&#xff0c;来获取…

二维数组m的元素是4个字符组成的串_串、数组和广义表

1. 串1.1 串的定义ADT String{ 数据对象&#xff1a;D{ai|ai∈CharacterSet, i1, 2, …, n, n≧0} 数据关系&#xff1a;R1{|ai-1, ai∈D, i2, …, n} 基本操作&#xff1a; 生成一个值等于chars的串 复制一个串 判断串是否空串 比较串的大小 返回串元素的个数 将串清空 …

流媒体测试笔记记录之————阿里云监控、OBS、FFmpeg拉流和推流变化比较记录...

OBS设置视频&#xff08;512kbps&#xff09;和音频&#xff08;128kbps&#xff09;比特率 阿里云监控结果&#xff1a; 使用FFmpeg拉流到Nginx 服务器测试比特率 第二次测试&#xff0c;修改视频和音频比特率 OBS设置 阿里云监控 Nginx 比特率变化 FFMPEG 拉流截图

python方差分析模型的预测结果怎么看_statsmodels中方差分析表结果解析

引言通常我们在对多个变量进行统计分析的时候&#xff0c;结果的汇总和整理需要耗费大量的时间和精力&#xff0c;稍有不慎还有可能出现错误。因此在对多个变量统计分析的时候&#xff0c;使用自动化的脚本对结果进行整理和汇总就十分的方便了。这里笔者使用Python当中的statsm…

mysql 刷新二进制日志_使用binlog日志恢复MySQL数据库删除数据的方法

binlog日志简介:binlog 就是binarylog&#xff0c;二进制日志文件&#xff0c;这个文件记录了MySQL所有的DDL和DML(除了数据查询语句)语句&#xff0c;以事件形式记录&#xff0c;还包含语句所执行的消耗的时间。binlog日志包括两类文件&#xff1a;1)二进制日志索引文件(文件名…

执行git push出现Everything up-to-date

在github上git clone一个项目&#xff0c;在里面创建一个目录&#xff0c;然后git push的时候&#xff0c;出现报错"Everything up-to-date" 原因&#xff1a;1&#xff09;没有git add .2&#xff09;没有git commit -m "提交信息"如果上面两个步骤都成功…