您的位置:首页 > 新闻 > 资讯 > 企业信用信息公示系统湖北_网站建设广告_seo免费优化_百度软件应用中心

企业信用信息公示系统湖北_网站建设广告_seo免费优化_百度软件应用中心

2025/3/11 3:10:54 来源:https://blog.csdn.net/y_k_j_c/article/details/145948199  浏览:    关键词:企业信用信息公示系统湖北_网站建设广告_seo免费优化_百度软件应用中心
企业信用信息公示系统湖北_网站建设广告_seo免费优化_百度软件应用中心

文章目录

  • 简介
    • Docker的安装
  • 快速入门
    • docker部署Mysql
      • 命令解读
  • Docker基础命令
    • 命令别名
  • 数据卷挂载
      • 挂载数据卷
    • 本地目录挂载(推荐)
  • 自定义镜像
    • 镜像结构
    • Dockerfile(了解)
    • Docker容器网络互联
  • 部署案例
  • DockerCompose

简介

Docker就是帮我们快速帮我们部署项目和各种组件的的工具
正常在linux上装mysql很麻烦,步骤也很多
但是你用docker就可以一行代码就搞定

类似应用商店?可以直接帮我们下载各种东西,不用来回找

Docker的安装

linux环境可能有虚拟机你自己弄的
还可以是买的服务器
你直接用ssh连接就行,可以是虚拟机上的也可以是云服务的
然后再我们的Linux去安装docker
安装docker可以看一下别的教程哈

快速入门

docker部署Mysql

部署mysql只需要这么简单的一行语句
在这里插入图片描述
等他执行完后
可以直接用navict这种软件,设置IP地址为我们虚拟机地址能直接连上
说明mysql已经部署运行了
在这里插入图片描述
感觉有点像maven
镜像可以放到多个容器中执行,每一个容器可以理解我一台服务器,不过只有我们linux可以访问,服务器运行镜像(服务)
在这里插入图片描述

命令解读

容器相当于自己是一个系统,有自己IP,但是这个容器我们访问不了,要通过访问Linux(宿主)端口来映射到容器的服务上
比如容器安装mysql对应端口固定3306(容器内端口) 我们可以拿宿主3307(linux端口)去匹配他
端口映射:前面是宿主端口,后面是容器端口
-e 环境变量(k=v形式),不同镜像环境变量不同,具体到时问AI或者自行搜索
在这里插入图片描述
最后镜像有版本要求写版本记得,没写默认下载最新版本
在这里插入图片描述

Docker基础命令

docker images和docker ps 分别是查看 镜像 和 容器
docker rmi 和 docker rm 分别是删除 镜像 和 容器
docker logs 查看日志
docker exec 进入容器内部
docker run 会去拉取镜像(如果没有)创建容器并且运行(如果你只是想用单个服务,不要一直run,会创建多个容器,跑多个服务)
docker start 就将容器中停止的服务运行起来
docker build/save/load 自定义镜像用的(之后会讲)
在这里插入图片描述
所以指令不知道怎么写参数
的可以后面±-help来提示参数
docker load --help
在这里插入图片描述
案例
在这里插入图片描述
这里我们操作容器时所用名字都是运行容器时候指定的容器名

docker pull nginx	拉取nginx镜像docker images 查看所有镜像docker save -o nginx.tar nginx:latest 
将我们latest版本的nginx保存到nginx.tar文件docker rmi nginx:latest 删除latest版本的nginx的镜像docker load -i nginx.tar 重新加载我们的tar文件,将其转化成镜像(nginx就回来了)docker run -d --name nginx -p 80:80 nginx
这个指令上面解析过docker ps 查看运行的容器docker stop nginx 停掉我们的nginx容器(这里最后和我们指定的容器名字相对)docker ps all 查看所有的容器(停不停都可以)docker start nginx 启动停止的nginx容器docker logs nginx 查看nginx容器日志docker exec -it nginx bash 
进入容器内部,创建命令行交互(-it作用),命令行以bash识别 
exit 退出容器docker rm nginx 删除nginx容器(需要先停止nginx容器运行)

在这里插入图片描述

命令别名

docker ps 查看容器排版比较乱
我们一般会格式化
指定查看信息
在这里插入图片描述
这个命令写出来复杂可以起别名
linux 可以设置命令别名
使用vi ~/.bashrc进入文件
在这里插入图片描述
文件里设置命令别名
前面是 新名 后面的 原名
在这里插入图片描述
然后退出保存(回车后输入 wq )
在这里插入图片描述
保存后让其生效
source ~/.bashrc
在这里插入图片描述

数据卷挂载

在这里插入图片描述
你直接进行nginx容器,你使用我们的vi这种linux命令其实用不了
因为容器只包含其运行必要文件,所以你在容器内修改文件就很困难,这时需要数据卷
先创建数据卷,数据卷可以认为是文件,将数据卷挂载到我们容器对应文件夹
然后修改宿主机里面的数据卷关联文件,达到修改nginx容器里面文件的效果(双向绑定)
在这里插入图片描述
对应指令
也可以使用docker volume --help看到下面指令
在这里插入图片描述

挂载数据卷

只有未创建的容器可以挂载数据卷
所以我们要先删除之前的nginx容器
这个容器内目录,是我们想存放东西的地方
在这里插入图片描述

docker rm nginx 删除容器
docker run -d --name nginx -p 80:80 -v :/user/share/nginx.html nginx
-d表示创建容器会直接启动,-v 数据卷名:容器内目录
html数据卷会挂载到nginx容器内的/user/share/nginx.html文件夹

使用docker volume inspect html
可以看见数据卷在主机的位置
在这里插入图片描述

docker volume inspect 数据卷名/容器名
下面展示的是数据卷名
如果是容器名的话,显示内容中有容器所有挂载数据卷信息
在这个mounts里面会显示

在这里插入图片描述

可以通过这个修改我们文件
在这里插入图片描述

可以双击文件修改
在这里插入图片描述
也可以将我们win里面的资源拖入
这样也相当于容器内也进行了修改

本地目录挂载(推荐)

就是不用数据卷了
直接用目录挂载
其实和上面差不多
在这里插入图片描述
需求
在这里插入图片描述
代码
你先把这些文件先创建一下
在这里插入图片描述

在这里插入图片描述
运行完后对应本地目录就会与我们的运行容器的文件相同(双向绑定了)
在这里插入图片描述

自定义镜像

运维这块干的较多

镜像结构

我们要将自己的项目去自定义成一个镜像然后再用Docker去部署
先了解镜像结构
在这里插入图片描述
镜像就是几个层的和
可能不同镜像基础层一样,比如mysql和nginx基础层一样就可以不用下载两遍
在这里插入图片描述
比如我们现在再拉一个redis就是分层下载的
redis 这个第一次已经存在,说明就是我们之前下过了
在这里插入图片描述

Dockerfile(了解)

在这里插入图片描述
主要就是拷贝jar包,因为基础jdk镜像已经有人帮忙做了
在这里插入图片描述
设置完dockerfile文件
我们接下来就部署就可以了,
在这里插入图片描述
将dockerfile和要拷贝的jar包同时复制到linux中
在这里插入图片描述
然后在对应目录下使用 docker build -t 镜像名 . (.表示从当前目录找Dockerfile)即可
在这里插入图片描述
之后就可以
取出进行docker save 镜像名
将文件取出
可以放到新的服务器 docker load 镜像名即可(用的系统要一样)

Docker容器网络互联

在这里插入图片描述

部署案例

视频

DockerCompose

我们之前部署很麻烦
自定义镜像,各个容器还要放入同一个网络中
在这里插入图片描述
基本就是一一对应的
参考这个语法就行
在这里插入图片描述
这里自定义镜像
context表示从当前目录找文件dockerfile文件(dockergfile指定dockergfil文件名)
也不用创建网络了指定在同一个网络(指定网络名称相同)即可
在这里插入图片描述
如何使用该文件,创建容器
在这里插入图片描述
把你想部署和yml文件的全放在一个文件夹中
然后docker compose up -d即可(-d表示后台运行),-f我们到我们部署文件夹下就不用写这个参数,-p不写默认为root(一般也不用写)
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com