前端开发从 0 到 1 掌握 docker

文章目录

  • 前端从 0 到 1 掌握 docker
    • 一、docker 的一些基础概念
      • 概念定义
      • question:什么是docker? 为什么要使用docker?
    • 二、实战操作 (墙裂建议读者实操一遍)
      • Part1 - Linux CentOS 服务安装 Docker
      • Part2 - 启动、使用、查看等命令
      • Part3 - 示例:docker 容器运行
      • Part4 - 自己写 Dockerfile 创建镜像
    • 三、Docker 常见命令汇总

  • 对 docker 不是很清楚,但是有对docker感兴趣的同学建议可以看一看该文。.
  • 强烈建议跟着 “ 实战操作 ” 部分一起动手操作,自己亲自操作理解会更加深刻。

前端从 0 到 1 掌握 docker

一、docker 的一些基础概念

概念定义

  1. Docker images:
    Docker 镜像,容器运行的只读模板,操作系统+软件运行环境+用户程序

  2. Docker containers:
    Docker 容器,包含某个应用运行所需要的全部环境

  3. Docker Stash:
    Docker 仓库,用来保存镜像,有公有和私有仓库

question:什么是docker? 为什么要使用docker?

  • 什么是Dokcer
    百科:一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

  • 简单来说:
    就是可以快速部署启动应用,实现虚拟化,完整资源隔离。
    一次编写,四处运行

二、实战操作 (墙裂建议读者实操一遍)

  • 笔者在梳理相关命令时按实操情况,理解难易,简单分类了一下。关键的操作步骤会提供截图参考,希望大家也能小手动起来!(QAQ)

Part1 - Linux CentOS 服务安装 Docker

# 更新yum源。
yum update# 安装Docker
yum install docker-io -y# 运行Docker
systemctl start docker

Part2 - 启动、使用、查看等命令

# 运行Docker守护进程
systemctl start docker# 查看Docker状态
systemctl status docker# 查看Docker信息
docker info# 停止Docker守护进程
systemctl stop docker# 重启Docker守护进程
systemctl restart docker

Part3 - 示例:docker 容器运行

# 运行 nginx 镜像的容器
docker run --name mydocker-nginx -p 8080:80 -d nginx# 其中:
--name mydocker-nginx:容器的名字叫做mydocker-nginx,名字自己定义
-p: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口
-d:容器启动后,在后台运行
  • 运行 nginx 镜像容器 命令行截图:
    在这里插入图片描述
  • 验证结果截图:
    在这里插入图片描述
    成功访问nginx容器
# 运行 mysql 镜像的容器docker run --name mysql5.7 --restart always -p 3307:3306 -e MYSQL_ROOT_PASSWORD=12345 -v /home/vagrant/mysql5.7/data:/var/lib/mysql -d mysql:5.7
  • 运行 mysql 镜像容器 命令行截图:
    在这里插入图片描述

  • 连接容器中的 mysql 数据库 截图:
    请添加图片描述
    访问成功哦!

  • 我们可以发现,其实本地开发环境如果需要用到 mysql、ng等等是不是可以直接用 docker 启动对应容器呢,这样可以随时迁移我们的开发环境。

Part4 - 自己写 Dockerfile 创建镜像

  • 一、 创建目录 DockerStudy

  • 二、 目录中创建一个 index.html 文件,内容如下

...<h1>Hello docker</h1>
<h1>Hello docker</h1>
<h1>Hello docker</h1>...
  • 三、 再在目录中创建一个 Dockerfile 文件,内容如下
FROM nginxCOPY ./index.html /usr/share/nginx/html/index.htmlEXPOSE 80

此时 DockerStudy 目录如下

DockerStudy|____index.html|____Dockerfile
  • 四、 打包镜像
cd /usr/local/DockerStudydocker image build ./ -t docker-study:1.0.1docker images

index.html 和 dockerfile 的内容:
在这里插入图片描述
我是本地写好再上传到 Linxu 终端

进入对应目录,打包镜像,查看镜像的命令行截图:
在这里插入图片描述

  • 五、 根据镜像创建容器
docker container create -p 12555:80 docker-study:1.0.1# 刚刚使用 Dockerfile 创建了一个镜像,根据刚刚创建的镜像,创建一个容器docker start a18bd2a88d14# 运行容器, a18bd2a88d14 为你自己的容器 id

根据镜像创建容器 的截图:
在这里插入图片描述去对应端口验证一下我们自己写的 DockerFile创建的镜像容器是否运行成功
在这里插入图片描述

三、Docker 常见命令汇总

  • 搜索镜像:
    docker search xxx

  • 列出当前系统存在的镜像:
    docker images

  • 拉取镜像:
    docker pull xxx

  • 运行容器

docker run --name xdclass-nginx -p 8080:80 -d nginx
​
docker run - 运行一个容器, name 或者 containerId-d 后台运行-p 端口映射--name "xxx"  容器名称
  • 列举当前正在运行的容器:
    docker ps

  • 列举全部容器:
    docker ps -a

  • 检查容器内部信息:
    docker inspect name/containerId

  • 删除镜像:
    docker rmi IMAGE_NAME/containerId

  • 停止某个容器:
    docker stop 容器名称

  • 启动某个容器:
    docker start 容器名称

  • 移除某个容器:
    docker rm 容器名称 (容器必须是停止状态)

  • 查看容器启动日志
    docker logs -f 容器 id

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

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

相关文章

羊城杯2023 部分wp

目录 D0nt pl4y g4m3!!!(php7.4.21源码泄露&pop链构造) Serpent(pickle反序列化&python提权) ArkNights(环境变量泄露) Ez_misc(win10sinpping_tools恢复) D0nt pl4y g4m3!!!(php7.4.21源码泄露&pop链构造) 访问/p0p.php 跳转到了游戏界面 应该是存在302跳转…

stable diffusion实践操作-随机种子seed

系列文章目录 stable diffusion实践操作 文章目录 系列文章目录前言一、seed是什么&#xff1f;二、使用步骤1.多批次随机生成多张图片2.提取图片seed3. 根据seed 再次培养4 seed使用4.1 复原别人图4.1 轻微修改4.2 固定某个人物-修改背景 三、差异随机种子1. webUI位置2. 什么…

Nebula数据库安装

1、什么是nebula NebulaGraph是一款开源的、分布式的、易扩展的原生图数据库&#xff0c;能够承载包含数千亿个点和数万亿条边的超大规模数据集&#xff0c;并且提供毫秒级查询。 2、利用docker-compose安装Nebula数据库 1、前提条件 主机中安装了docker主机中安装了Docke…

Linux上安装FTP

1、登录FTP&#xff0c;执行安装命令 yum -y install vsftpd 2、启动FTP服务器&#xff0c;设置开启自启动 systemctl enable vsftpd.service systemctl start vsftpd.service systemctl status vsftpd.service #查看状态, 显示active说明FTP启动成功 3、修改FTP配置文件/et…

Docker资源控制cgroups

文章目录 一、docker资源控制1、资源控制工具2、Cgroups四大功能 二、CPU 资源控制1、设置CPU使用率上限2、CPU压力测试3、Cgroups限制cpu使用率4、设置CPU资源占用比&#xff08;设置多个容器时才有效&#xff09;5、设置容器绑定指定的CPU 三、对内存使用的限制四、对磁盘IO配…

【网络层】网络基础 -- IP协议

引入IP协议头格式网段划分特殊的IP地址IP地址的数量限制 私有IP地址和公网IP地址分片与组装如何分片与组装&#xff1f; 引入 我们前面学习了传输层的相关知识&#xff0c;难道真的就是直接传送吗&#xff1f;当然不是&#xff0c;那TCP究竟做了什么&#xff1f;IP又扮演什么角…

基于ubuntu tun虚拟网卡设备完成ping的发送与模拟接收

前言 前面我们初步认识了什么是tun设备及基础的工作原理与接收文件的设备文件&#xff08;节点&#xff09;、虚拟网卡的启动、添加路由表等操作&#xff0c;为什么进一步理解tun设备与协议栈的通信理解&#xff0c;这次我们将应用层控制tun设备发送ping&#xff0c;通过read读…

7 个适合初学者的项目,可帮助您开始使用 ChatGPT

推荐&#xff1a;使用 NSDT场景编辑器快速搭建3D应用场景 从自动化日常任务到预测复杂模式&#xff0c;人工智能正在重塑行业并重新定义可能性。 当我们站在这场人工智能革命中时&#xff0c;我们必须了解它的潜力并将其整合到我们的日常工作流程中。 然而。。。我知道开始使…

网络技术一:计算机网络概述

计算机网络概述 计算机网络定义 一组自治计算机互联的集合 计算机网络基本功能 资源共享 综合信息服务 分布式处理与负载均衡 计算机网络的类型 局域网 LAN&#xff1a;由用户自行建设&#xff0c;使用私有地址组建的内部网络 城域网 MAN&#xff1a;由运营商或大规模…

sql中的排序函数dense_rank(),RANK()和row_number()

dense_rank()&#xff0c;RANK()和row_number()是SQL中的排序函数。 为方便后面的函数差异比对清晰直观&#xff0c;准备数据表如下&#xff1a; 1.dense_rank() 函数语法&#xff1a;dense_rank() over( order by 列名 【desc/asc】) DENSE_RANK()是连续排序&#xff0c;比如…

docker清理

1. 查看docker 磁盘占用 docker system df 2. 参考&#xff1a; Docker磁盘占用与清理问题_docker system prune_蓝鲸123的博客-CSDN博客

redis未授权访问

文章目录 搭建环境漏洞复现安装Exlopit并使用 前提条件&#xff1a; 1.安装docker docker pull medicean/vulapps:j_joomla_22.安装docker-compose docker run -d -p 8000:80 medicean/vulapps:j_joomla_23.下载vulhub 搭建环境 输入下面命令&#xff0c;来到Redis的路径下&am…

反序列化漏洞复现(typecho)

文章目录 执行phpinfogetshell 执行phpinfo 将下面这段代码复制到一个php文件&#xff0c;命名为typecho_1.0-14.10.10_unserialize_phpinfo.php&#xff0c;代码中定义的类名与typecho中的类相同&#xff0c;是它能识别的类&#xff1a; <?php class Typecho_Feed{const…

【科研论文配图绘制】task7密度图绘制

【科研论文配图绘制】task7密度图绘制 task7 了解密度图的定义&#xff0c;清楚密度图是常用使用常见&#xff0c;掌握密度图绘制。 1.什么是密度图 密度图&#xff08;Density Plot&#xff09;是一种用于可视化数据分布的图表类型。它通过在数据中创建平滑的概率密度曲线…

「网页开发|前端开发|Vue」06 公共组件与嵌套路由:让每一个页面都平等地拥有导航栏

本文主要介绍在多个页面存在相同部分时&#xff0c;如何提取公共组件然后在多个页面中导入组件重复使用来减少重复代码。在这基础上介绍了通过嵌套路由的方式来避免页面较多或公共部分较多的情况下&#xff0c;避免不断手动导入公共组件的麻烦&#xff0c;并且加快页面跳转的速…

Linux监测进程打开文件

分析问题过程中&#xff0c;追踪进程打开的文件可以在许多不同情况下有用&#xff0c;体现在以下几个方面&#xff1a; 故障排除和调试&#xff1a; 当程序出现问题、崩溃或异常行为时&#xff0c;追踪进程打开的文件可以帮助找出问题的根本原因。这有助于快速定位错误&#x…

基于3D扫描和3D打印的产品逆向工程实战【数字仪表】

逆向工程是一种从物理零件创建数字设计的强大方法&#xff0c;并且可以与 3D 扫描和 3D 打印等技术一起成为原型设计工具包中的宝贵工具。 推荐&#xff1a;用 NSDT编辑器 快速搭建可编程3D场景 3D 扫描仪可以非常快速地测量复杂的物体&#xff0c;并且在涉及现实生活参考时可以…

Scrapy简介-快速开始-项目实战-注意事项-踩坑之路

scrapy项目模板地址&#xff1a;https://github.com/w-x-x-w/Spider-Project Scrapy简介 Scrapy是什么&#xff1f; Scrapy是一个健壮的爬虫框架&#xff0c;可以从网站中提取需要的数据。是一个快速、简单、并且可扩展的方法。Scrapy使用了异步网络框架来处理网络通讯&…

下载配置 maven并在 idea 上应用

目录 一 maven 定义 二 Maven特点 三 Maven仓库 四 安装配置maven 步骤一:准备安装包,解压 步骤二:配置maven的环境变量 步骤三:测试maven的环境变量是否配置成功 步骤四:配置maven本地仓库 步骤五:阿里云、腾讯镜像配置 步骤六:全局配置idea的maven路径 步骤七:创建…

为IT服务台构建自定义Zia操作

Zia是manageengine的商业人工智能助手&#xff0c;是ServiceDesk Plus Cloud的虚拟会话支持代理。使用Zia&#xff0c;您可以优化帮助台管理&#xff0c;还可以缩小最终用户与其帮助台之间的差距&#xff0c;Zia通过执行预配置的操作来帮助用户完成他们的服务台任务。 例如&…