当前位置: 首页 > news >正文

关于docker及容器的了解学习记录

一.什么是容器化(Containerisation):就是将应用程序和所需要的必要资源整合打包到一个名为容器的包中的过程称为容器化。

1.容器化主要解决的是程序运行的环境系统不支持或多个版本在同一机器中互相冲突的问题。

2.容器化平台利用的内核名为“命名空间(namespace)”的功能,实现进程可以充当系统资源无需与其他进程进行交互。

二.Docker

1.使用docker分布应用程序时,该应用程序会变为images,即一个镜像,镜像运行后会生成容器。

2.Docker是由YAML语言编写,具有可移植易调试的功能。

3.在Linux中可以使用ps aux查看运行的进程列表。

三.Docker的使用及安装。

1.docker pull nginx:22.04             #下载nginx22.04的镜像,若不加22.04默认安装最新版本。

2.docker image                            #列出可操作(管理)的本地系统镜像。

2.2docker image的可选择参数:

        docker image ls                           #列出所有镜像;

        docker image rm nginx:22.04     #删除nginx22.04的镜像

        docker image build                     #创建镜像

3.docker run -it helloword /bin/bash   #运行容器helloword

3.2参数解释:

        -it:i以交互的方式,t以shell在容器中运行,合起来就是以shell的方式在容器中交互.

        -d:让容器在后台运行           -v xx xxx:挂载,从xx挂载到XXX

        -rm:删除        -p xxx:xx:将端口xxx绑定到容器xx中  --name:命名

4.docker ps                                    #列出当前正在运行的容器,增加参数-a 可列出已关闭的容器。

四.dockerfile

1.定义:dockerfile是格式化文本文件,本质是docker做什么的说明手册。

2.参数:

from   #所有都必须从这里开始

run    #执行命令 

copy #复制

workdir  #设置为主目录

cmd  #启动服务进程

expose #运行程序时使用的端口

3.示例1,创建一个容器。

FROM ubuntu:22.04            #创建一个系统版本ubuntu22.04

WORKDIR \                       #设置当前为主目录

RUN touch helloword.txt   #创建一个helloword文本

docker build helloword .   #在当前目录下创建容器镜像,之后的步骤就可以依docker容器参数执行

3.2更新容器及安装软件

From ubuntu:22.04

run apt-get update -y         #更新容器

run apt-get install apache2 -y     #安装apache2

expose 80          #绑定端口80

CMD ["apache2ctl","-D","Foreground"]    #在容器中运行apache2服务

五.Docker compose

1.定义:允许多个容器相互交互又互相隔离运行。

2.参数:

docker-compose up        #创建并启动容器

docker-compose start      #启动容器

docker-compose down    #删除容器

docker-compose stop     #停止容器

docker-compose build    #创建容器但不启动

3.docker-compose。yml文件的格式。

六实战:以THM的Intro to Docker任务七为例。

第一步:启动机器。

第二步:看问题

首先第一个问题:容器的名称,简单docker ps 查看当前运行的容器。

第二个问题;先启动webserver的镜像,再去访问这个网站。

第三步:开始操作

得名称:cloudisland

NO2:

先访问网站是这个样子的。

然后查看docker的关闭服务,显示确实是关闭的。

现在启动webserver服务

之后再去访问网站。

得到答案。

相关文章:

  • 【 Avalonia UI 语言国际化 I18n】图文结合教学,保姆级教学,语言国际化就是这么简单(.Net C#)
  • 谷粒商城学习笔记-13-配置git-ssh-配置代码免密提交
  • 自然语言处理:第九十二章 chatBI 经验(转载)
  • ES6相关操作(2)
  • PHP集成软件用哪个比较好?
  • 41. 缺失的第一个正数(LeetCode 热题 100)
  • Linux高并发服务器开发 第十九天(线程 进程)
  • LeetCode热题100——滑动窗口/子串
  • dify安装
  • Linux中POSIX应用场景
  • 第4章 4.1 Entity Framework Core概述
  • 基于Java+Springboot+MySQL图书馆图书管理系统设计与实现
  • 力扣-回溯-39 组合总和
  • Python图像处理中的内存泄漏问题:原因、检测与解决方案
  • C#基础:使用Linq进行简单去重处理(DinstinctBy/反射)
  • Ubuntu 22.04 一键部署MinerU1.1.0
  • 计算机基础之操作系统——并发
  • PLSQL连接Oracle 19c报错ORA-28040
  • C语言(四)——数组
  • Redis(高阶篇)05章——案例落地实战bitmap/hyperloglog/GEO
  • 做网站是否需要自购服务器/网络营销怎么做推广
  • 如何用discuz做网站/seo资料站
  • 鄂州英文网站建设/万网域名注册教程
  • 电子商务网站建设与维护期末答案/今日财经新闻
  • 如何做旅游网站的思维导图/软文范文200字
  • 电子商务网站建设首要问题是/百度地图疫情实时动态