前端开发从 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.hqwc.cn/news/100651.html

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

相关文章

探索多线程编程:线程的本质、状态和属性

目录 什么是线程线程状态新建线程可运行线程阻塞和等待线程终止线程 线程属性优先级线程名守护线程中断线程未捕获异常的处理器 在现代计算机编程中&#xff0c;多线程是一个重要而强大的概念。它使得我们能够更有效地利用多核处理器、提高程序性能并实现并发操作。 什么是线程…

route命令小结

Destination: 如果不满足该列的任何一个ip,则走默认的default Gataway: *是 不指定gateway.有的系统是0.0.0.0,与*意义相同 Genmask: 0.0.0.0是不指定掩码, 255.255.0.0掩码了16位,172.17 开头的ip,会走这个网关 255.255.255.0掩码了16位,192.168.0 开头的ip都会走这个网关 当是…

探讨前后端分离开发的优势、实践以及如何实现更好的用户体验?

随着互联网技术的迅猛发展&#xff0c;前后端分离开发已经成为现代软件开发的一种重要趋势。这种开发模式将前端和后端的开发工作分开&#xff0c;通过清晰的接口协议进行通信&#xff0c;旨在优化开发流程、提升团队协作效率&#xff0c;并最终改善用户体验。本文将深入探讨前…

sentinel加密狗使用及规则配置

Sentinel加密狗是一种硬件加密设备&#xff0c;用于保护软件应用程序免受未经授权的访问和复制。它可以提供软件许可管理、访问控制和数据保护等功能。下面是Sentinel加密狗的使用及规则配置的相关介绍。 Sentinel加密狗的使用 插入加密狗&#xff1a;将Sentinel加密狗插入计算…

链条输送机如何润滑

润滑是使用机械设备过程中不可或缺的保养工作&#xff0c;链条输送机也不例外&#xff0c;但对于第一次使用链条机的用户来讲&#xff0c;对于哪个部位需要润和以及如何润滑都是一头雾水&#xff0c;今天艾讯就从专业的角度来和您分享一下链条输送机如何润滑的问题。 1、应切断…

爬虫进阶-反爬破解5(selenium的优势和点击操作+chrome的远程调试能力+通过Chrome隔离实现一台电脑登陆多个账号)

目录 一、selenium的优势和点击操作 二、chrome的远程调试能力 三、通过Chrome隔离实现一台电脑登陆多个账号 一、selenium的优势和点击操作 1.环境搭建 工具&#xff1a;Chrome浏览器chromedriverselenium win用户&#xff1a;chromedriver.exe放在python.exe旁边 MacO…

文件上传漏洞

任意文件上传 1. 概述 文件上传是Web 应用必备功能之一&#xff0c;如&#xff0c;头像上传&#xff0c;附件分享等。如果服务器配置不当或者没有进行足够的过滤&#xff0c;Web 用户就可以上传任意文件&#xff0c;包括恶意脚本文件&#xff0c;exe 程序等等&#xff0c;这就…

MySQL 连接出现 Authentication plugin ‘caching_sha2_password‘ cannot be loaded

在使用Navicat Premium 12连接MySQL数据库时会出现Authentication plugin caching_sha2_password cannot be loaded 出错 出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法&#xff1a;把my…

祝贺埃文科技入选河南省工业企业数据安全技术支撑单位

近日&#xff0c;河南省工业信息安全产业发展联盟公布了河南省工业信息安全应急服务支撑单位和河南省工业企业数据安全技术支撑单位遴选结果,最终评选出19家单位作为第一届河南省工业信息安全应急服务支撑单位和河南省工业企业数据安全技术支撑单位。 埃文科技凭借自身技术优势…

Redis集群服务器

集群简介 试想有一家餐厅&#xff0c;如果顾客人数较少&#xff0c;那么餐厅只需要一个服务员即可&#xff0c;如图1。但是&#xff0c;当顾客人数非常多时&#xff0c;一个服务员是绝对不够的&#xff0c;如图2。此时&#xff0c;餐厅需要雇用更多的服务员来解决大量访问&…

vue-tour新手指导,点击按钮,进行提示,再次点击按钮,提示隐藏,点击下一步,弹框显示

先看效果图 main.js中引入vue-tour import VueTour from vue-tour require(vue-tour/dist/vue-tour.css) Vue.use(VueTour)建一个登录页面 点击导航助手按钮&#xff0c;开始提示 <el-button type"primary" plain click"startTour">导航助…

信息技术 安全技术 信息安全管理测量

声明 本文是学习信息技术 安全技术 信息安全管理 测量. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 范围 为了评估按照GB/T 22080-2008规定实施的信息安全管理体系&#xff08;Information Security Management System&#xff0c;简称ISMS&#…