编程入门(九)【linux系统下docker的部署与发布网站】
创始人
2024-11-13 03:10:18
0

读者大大们好呀!!!☀️☀️☀️


请添加图片描述
👀期待大大的关注哦❗️❗️❗️
🚀欢迎收看我的主页文章➡️木道寻的主页

文章目录

  • 🔥前言
  • 🚀什么是docker?
  • 🚀docker三要素
  • 🚀linux系统下docker的基本命令
  • 🚀docker实例:lamp部署网站
    • docker数据卷项目
      • 数据卷的概念
      • 数据集的基本操作
    • lamp镜像实现论坛部署
      • 操作步骤
  • ⭐️⭐️⭐️总结

🔥前言

当我们学习一门知识时,都会涉及到哲学三问:(我是谁?)什么是docker?(我为什么在这里?)为何要有docker?(我要去哪里?)docker要做什么?本篇将带你一起解答这些问题。

🚀什么是docker?

docker :应用容器引擎,产出各种容器(相当于小Linux)

为什么要有docker呢?

在传统的网站部署时,一个Linux服务器,部署一个web网站:如下图所示
在这里插入图片描述
这种模式下有很多弊端:
1、需要大量的服务器
2、启动速度慢
3、开发、测试、运维环境不一致,导致的bug可能因环境不一致引起
因此docker就运营而生了,只需要一台Linux服务器
在这里插入图片描述

docker要做什么呢?拿到源代码,在不同环境中发布网站

一个web网站需要什么?web服务需要:
1、接收客户端数据
2、连接数据库
3、调度开发网页
在这里插入图片描述

🚀docker三要素

1️⃣ 仓库 – repository ----网站docker提供各种镜像
命令:

docker search 镜像名字 在仓库查找

docker pull 镜像名字 下载镜像
docker run 镜像名字 执行镜像,没有镜像会自动下载

2️⃣镜像–images -----文件----》产生容器
对比传统的服务,比如lamp服务,NGINX服务,mysql服务等产生,对应的就是docker中的lamp镜像,MySQL镜像 ----》docker的镜像强调复制出大量的容器,镜像与容器是是一对多的关系。

3️⃣容器----container ----进程-----运行开发的代码与编程网站
镜像(Image)和 容器(Container)的关系,就像是面向对象程序设计中的 类 和 实例 一样,镜像是静态的定义,容器是镜像运行时的实体。
容器内的进程是运行在一个隔离的环境里的,就像独立于宿主机的另一台机器。
所有容器的文件写入操作,都应该使用 数据卷(Volume)、或者绑定宿主目录。

🚀linux系统下docker的基本命令

前期准备

1、linux | docker软件

  curl -fsSL https://get.docker.com/ | sh 

在这里插入图片描述
2、web服务(lamp/nginx/tomcat/php-apache)+数据库服务
拉取镜像

docker pull php 

在本地主机上使用一个不存在的镜像时 Docker 就会自动下载这个镜像。如果想预先下载这个镜像,可以使用这个命令。不指定版本, 会获取latest 镜像。
在这里插入图片描述

docker pull 镜像名:版本号 

拉取指定版本的镜像
在这里插入图片描述
除了在有网的环境下进行镜像的拉取,还可以在离线的条件下预先下载了镜像文件
docker save 镜像tar包
在这里插入图片描述
1、导入镜像

docker load < 文件地址 

在这里插入图片描述

其中image ID:为镜像的唯一编号,可以为其取别名,便于识别使用
先用docker images 命令查看镜像。再根据编号取别名:
在这里插入图片描述
再输入下列命令:

docker tag 前四位编号 别名(:描述)括号中如果没有描述则为默认latest版本 

在这里插入图片描述
2、启动容器
命令:docker run -d 镜像别名
-d 守护,后台运行。
在这里插入图片描述
每执行一次就会创建一个容器!!!
3、查看容器状态
命令:docker ps -a
在这里插入图片描述
4、进入容器
命令:docker exec -it 容器id /bin/bash
在这里插入图片描述

5、退出容器
快捷键Ctrl+p再Ctrl+q
在这里插入图片描述
6、停止容器
命令:docker container stop 容器id
在这里插入图片描述
7、重启容器
命令:docker container start 容器id(启动容器)
docker container restart 容器id(终止容器运行,再启动)
在这里插入图片描述
8、删除容器
命令:docker container rm 容器ID(只能删除已经停止的容器)
在这里插入图片描述
9、docker 命令帮助

docker command --help 

在这里插入图片描述

🚀docker实例:lamp部署网站

docker数据卷项目

数据卷的概念

数据卷,是一个可供一个或多个容器使用的特殊目录,特性有:
1️⃣数据卷可以在容器之间共享和重用
2️⃣对数据卷的修改会立马生效
3️⃣对数据卷的更新,不会影响镜像
4️⃣数据卷被设计用来持久化数据的,她的生命周期独立于容器

数据集的基本操作

创建数据卷

docker volume create 数据卷名
在这里插入图片描述

查看数据卷信息

docker volume inspect 数据卷名

在这里插入图片描述

查看所有的数据卷

docker volume ls
在这里插入图片描述

删除数据卷

docker volume rm 数据卷名
在这里插入图片描述

清理无主的数据卷

先创建几个数据卷,再进行清理
在这里插入图片描述
docker volume prune
在这里插入图片描述

挂载volume数据卷(此操作在下面部署时展示)

docker run -d -p 宿主机端口:容器内端口 -v 数据卷名:容器内路径 镜像名

lamp镜像实现论坛部署

根据lamp镜像构建网站的基础环境

操作步骤

环境解释:lamp----->Linux、Apache、mysql、PHP
命令执行:
1、准备需要的镜像

docker load < /home/centos-lamp.tar docker images docker tag 0b8d mdxcentos-lamp 

在这里插入图片描述
2、当前目录中,新建一个lamp目录
mkdir lamp
3、将源码压缩包拷贝到lamp目录下,并解压
cp 源码压缩包位置 lamp
cd lamp
unzip 压缩包名
4、建立lamp项目需要的数据卷,并查看数据卷的存放路径
在这里插入图片描述
5、解压的目录中有一个upload目录(包含主页面的代码目录),将其复制到数据卷中,并给该目录授予读写执行的权限。
在这里插入图片描述在这里插入图片描述
6、生成临时容器,查看容器的端口与发布的目录,删除临时容器
命令:docker run -it docker.io /mdxcentos-lamp /bin/bash
cd /etc/httpd/conf
cat httpd.conf |greap DocumentRoot
cat httpd.conf |greap Listen
在这里插入图片描述
退出删除容器
exit
docker container stop 容器ID
docker container rm 容器ID
在这里插入图片描述
7、正式生成容器

docker run -d -p 8082:80 -v lampcvol:/var/www/html mdxcentos-lamp  
-p :将宿主机的8082端口映射到容器的80端口中 -v :将数据卷lampcvol挂载到容器中的发布目录/var/www/html 

在这里插入图片描述
8、浏览器访问http://localhost:8082/upload进行安装,按照提示安装完成后,在浏览器输入http://localhost:8082/upload/forum.php显示该画面则安装完成。
在这里插入图片描述
9、不同路径发布,多个目录存放对应的开发源码,修改端口号

mkdir lamp1 mkdir lamp2 cp 源码文件路径 /lamp1 cp 源码文件路径 /lamp2 cd lamp1 unzip 目录下源码压缩包 chmod 777 -R .  docker run -d -p 8081:80 -v lampcvol:/var/www/html mdxcentos-lamp   docker run -d -p 8083:80 -v lampcvol:/var/www/html mdxcentos-lamp   

通过访问不同的端口,为不同的用户提供环境(开发环境|运维环境|测试环境)

⭐️⭐️⭐️总结

docker三要素命令思维导图:
在这里插入图片描述

✈️✈️✈️如果喜欢这篇文章的话

🙏大大们可以动动发财的小手: 👉👉👉 点赞:👍收藏:⭐️评论:✍️👈👈👈

相关内容

热门资讯

让我来分享经验!花城棋舍辅助,... 让我来分享经验!花城棋舍辅助,淘宝买wepoker透视有用吗,科技教程(有挂规律)-哔哩哔哩;花城棋...
指导大家!hhpoker辅助挂... 指导大家!hhpoker辅助挂,wepoker私人局可以透视,总是有挂(有挂头条)1、下载好脚本下载...
实测教程!上饶辅助设备出租,w... 实测教程!上饶辅助设备出租,wepoker公共底牌,大神讲解(有挂解密)-哔哩哔哩;上饶辅助设备出租...
发现一款!菠萝辅助器免费版的特... 发现一款!菠萝辅助器免费版的特点,wepoker透视有吗,其实是有挂(真实有挂)1、进入游戏-大厅左...
带你了解!麻友圈插件,wpk俱... 【福星临门,好运相随】;带你了解!麻友圈插件,wpk俱乐部怎么作弊,可靠教程(真是有挂)-哔哩哔哩;...
玩家必备教程!德州透视hhpo... 玩家必备教程!德州透视hhpoker,wpk透视是真的假的,一直存在有挂(有挂详情)1、超多福利:超...
热点讨论!广东雀神智能插件安卓... 热点讨论!广东雀神智能插件安卓包,wepoker永久免费脚本,靠谱教程(有挂方针)-哔哩哔哩是一款可...
教程辅助!来玩德州破解器,德州... 教程辅助!来玩德州破解器,德州局透视脚本下载安装最新版本,真是有挂(有挂教学)1)免费钻石:进一步探...
每日必看教程!拱趴辅助,菠萝辅... 每日必看教程!拱趴辅助,菠萝辅助器免费版的功能介绍,技巧教程(有挂猫腻)-哔哩哔哩;每日必看教程!拱...
记者揭秘!xpoker辅助控制... 记者揭秘!xpoker辅助控制,wepoker买脚本靠谱吗,真是真的是有挂(详细教程)1、操作简单,...