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

做网站赚不到钱了电子商务网站推广怎么做

做网站赚不到钱了,电子商务网站推广怎么做,做网赌网站,交换链接营销的经典案例文章目录一、Docker概述1. 什么是容器技术#xff1f;2. 什么是Docker3. 为什么要使用Docker4. Docker和虚拟机的对比5. Docker相关概念6. DockerHub7. Docker架构二、安装Docker1. 安装Docker2. 配置阿里云镜像加速三、Docker常用命令1. 帮助命令2. 镜像操作命令3. 容器操作命… 文章目录一、Docker概述1. 什么是容器技术2. 什么是Docker3. 为什么要使用Docker4. Docker和虚拟机的对比5. Docker相关概念6. DockerHub7. Docker架构二、安装Docker1. 安装Docker2. 配置阿里云镜像加速三、Docker常用命令1. 帮助命令2. 镜像操作命令3. 容器操作命令4. 练习4.1 安装Redis4.2 RabbitMQ单机部署4.3 安装Ubuntu四、Docker可视化工具五、数据卷1. 创建和查看数据卷2. 挂载数据卷3. 挂载目录一、Docker概述 1. 什么是容器技术 容器是一个允许我们在资源隔离的过程中运行应用程序和其依赖项的 、轻量的 、操作系统级别的虚拟化技术 运行应用程序所需的所有必要组件都打包为单个镜像这个镜像是可以重复使用的。当镜像运行时它是运行在独立的环境中并不会和其他应用共享主机操作系统的内存、CPU或磁盘。这保证了容器内的进程不会影响到容器外的任何进程。 2. 什么是Docker Docker官网地址 : https://www.docker.com/ Docker文档地址 : https://docs.docker.com/ Docker镜像仓库地址 : https://hub.docker.com/ Docker是一个开源的应用容器引擎让开发者把他们的应用以及依赖打包到一个可移植的镜像中打包然后发布到任何流行的Linux或Windows操作系统的机器上也可以实现虚拟化容器是完全使用沙箱机制相互之间不会有任何接口隔离。Docker底层用的Linux的cgroup和namespace这两项技术来实现应用隔离一个完整的Docker有以下几个部分组成 Docker Client客户端。Docker Daemon守护进程。Docker Image镜像。Docker Container容器。 3. 为什么要使用Docker Docker可以解决项目部署问题比如 传统方式的项目部署会遇到以下问题 组件兼容问题。比如项目依赖jdk8的环境如果给他降jdk7就会遇到各种兼容问题操作系统环境不同问题。比如测试环境在centos生产环境迁到ubuntu就会遇到系统兼容问题 1、Docker如何解决组件兼容问题 Docker会将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包。 将每个应用放到一个隔离的容器去运行避免相互干扰。沙箱机制 2、Docker如何解决操作系统不同问题 Docker会将应用程序与所需要调用的操作系统函数库一起打包。会占用很多资源 Docker运行到不同操作系统时直接基于打包的系统函数库借助于操作系统的Linux内核来运行。 操作系统基本结构 计算机硬件例如CPU、内存、硬盘、网卡等系统内核所有Linux发行版的内核都是Linux例如CentOS、Ubuntu、Fedora等。内核可以与计算机硬件进行交互对外提供内核指令用于操作计算机硬件。系统应用操作系统本身提供的应用、函数库。这些函数库是对内核指令的封装使用更加方便。 4. Docker和虚拟机的对比 首先两者都是用来做隔离的Docker作为一种新兴的虚拟化方式 跟传统的虚拟化方式相比具有众多的优势。 1、更高效的利用系统资源 由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销Docker对系统资源的利用 率更高。无论是应用执行速度、内存损耗或者文件存储速度都要比传统虚拟机技术更高效。因此相比虚拟机技术一个相同配置的主机往往可以运行更多数量的应用。 2、更快速的启动时间 传统的虚拟机技术启动应用服务往往需要数分钟而 Docker 容器应用由于直接运行于宿主内核无需启动完整的操作系统因此可以做到秒级、甚至毫秒级的启动时间。大大的节约了开发、测试、部署的时间。 3、一致的运行环境 开发过程中一个常见的问题是环境一致性问题。由于开发环境、测试环境、生产环境不一致导致有些bug并未在开发过程中被发现。而 Docker 的镜像提供了除内核外完整的运行时环境确保了应用运行环境一致性从而不会再出现 「这段代码在我机器上没问题啊」 这类问题。 4、持续交付和部署 对开发和运维DevOps人员来说最希望的就是一次创建或配置可以在任意地方正常运行。使用 Docker 可以通过定制应用镜像来实现持续集成、持续交付、部署。开发人员可以通过 Dockerfile 来进行镜像构建并结合 持续集成(Continuous Integration) 系统进行集成测试 而运维人员则可以直接在生产环境中快速部署该镜像甚至结合 持续部署(Continuous Delivery/Deployment) 系统进行自动部署。而且使用 Dockerfile 使镜像构建透明化不仅仅开发团队可以理解应用运行环境也方便 运维团队理解应用运行所需条件帮助更好的生产环境中部署该镜像。 5、更轻松的迁移 由于Docker确保了执行环境的一致性使得应用的迁移更加容易。Docker可以在很多平台上运行无论是物理机、虚拟机、公有云、私有云甚至是笔记本其运行结果是一致的。 因此用户可以很轻易的将在一个平台上运行的应用迁移到另一个平台上而不用担心运行 环境的变化导致应用无法正常运行的情况。 6、更轻松的维护和扩展 Docker 使用的分层存储以及镜像的技术使得应用重复部分的复用更为容易以及应用的维护更新更加简单基于基础镜像进一步扩展镜像也变得非常简单。此外Docker 团队同各个开源项目团队一起维护了一大批高质量的官方镜像既可以直接在生产环境使用又可以作为基础进一步定制大大的降低了应用服务的镜像制作成本。 对比传统虚拟机总结如下 特性Docker虚拟机启动秒级分钟级硬盘使用一般为 MB一般为 GB性能接近原生性能较差系统支持量单机支持上千个容器一般几十个 艾玛真香 搞起来 5. Docker相关概念 镜像、容器、仓库重点 镜像ImageDocker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起称为镜像。安装包 容器Container镜像中的应用程序运行后形成的进程就是容器只是Docker会给容器进程做隔离对外不可见。 仓库repository仓库就是存放镜像的地方仓库分为公有仓库和私有仓库 一切应用最终都是代码组成都是硬盘中的一个个的字节形成的文件。只有运行时才会加载到内存形成进程。 镜像就是把一个应用在硬盘上的文件、及其运行环境、部分系统函数库文件一起打包形成的文件包。这个文件包是只读的。 容器是将这些文件中编写的程序、函数加载到内存中运行形成进程(就是容器)Docker会给容器进程做隔离(守护进程)。 一个镜像可以启动多个容器。 6. DockerHub DockerHub镜像仓库地址https://hub.docker.com/ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2yqi1jGl-1676658332218)(docker.assets/image-20230214234712523.png)] DockerHub是Docker官方提供的镜像仓库托管平台。这样的平台称为Docker Registry。 国内也有类似DockerHub的镜像托管平台 网易云镜像服务 https://c.163yun.com/hub阿里云镜像服务https://cr.console.aliyun.com/私有云自己公司用的。等等 7. Docker架构 我们要使用Docker来操作镜像、容器就必须要安装Docker。 Docker是一个CS架构的程序由两部分组成 服务端(server)Docker守护进程负责处理Docker指令管理镜像、容器等。 客户端(client)通过命令或RestAPI向Docker服务端发送指令。可以在本地或远程向服务端发送指令。 总结 镜像类似安装包它将应用程序及其依赖、环境、配置打包在一起。 容器镜像运行起来就是容器一个镜像可以运行多个容器。 Docker结构 服务端接收命令或远程请求操作镜像或容器。 客户端发送命令或者请求到Docker服务端。 DockerHub是一个镜像托管的服务器类似的还有阿里云镜像服务、网易云镜像服务等等统称为DockerRegistry。 二、安装Docker 1. 安装Docker 环境准备CentOS7系统内核要求是3.10以上的、SSH客户端 帮助文档 : https://docs.docker.com/ 1、查看系统内核系统内核要求是3.10以上的 uname -r2、如果之前安装过旧版本的Docker可以使用下面命令进行卸载Docker yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine \docker-ce3、安装yum工具 yum install -y yum-utils4、 设置阿里云镜像源 yum-config-manager \--add-repo \https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo5、更新镜像源 sed -i s/download.docker.com/mirrors.aliyun.com\/docker-ce/g /etc/yum.repos.d/docker-ce.repo6、 更新yum软件包索引 yum makecache fast7、安装docker-ce社区版 免费版本 ee企业版 yum install -y docker-ce8、关闭防火墙 systemctl stop firewalld #关闭防火墙 systemctl disable firewalld #禁止开机启动 systemctl status firewalld9、启动docker systemctl start docker # 启动docker服务 systemctl enable docker.service #设置docker开机自动启动停止docker服务systemctl stop docker重启docker服务systemctl restart docker 10、查看docker版本号测试是否启动成功。 docker -vokdocker已经成功运行起来啦 2. 配置阿里云镜像加速 华为云容器镜像服务 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 阿里云镜像加速文档https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 1、登录阿里云找到容器服务 2、找到镜像加速地址 3、配置镜像加速全选下面的代码执行即可。 sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json -EOF {registry-mirrors: [https://bbc8rnyr.mirror.aliyuncs.com] } EOFsudo systemctl daemon-reloadsudo systemctl restart docker4、 查看镜像加速配置 cat /etc/docker/daemon.jsonok到这里阿里云镜像加速已经配置成功啦 三、Docker常用命令 帮助文档的地址https://docs.docker.com/reference/ 1. 帮助命令 docker -v # 显示docker的版本号docker version # 显示docker的版本信息docker info # 显示docker的系统信息,包括镜像和容器的数量docker [COMMAND] --help # 帮助命令 (COMMAND,命令),例如 docker save --help2. 镜像操作命令 镜名称一般分两部分组成[repository]:[tag]。 镜像名:版本 例如mysql:5.7。 如果拉取镜像不指定版本默认是latest代表最新版本的镜像。最好用具体版本的镜像方便查看版本 镜像常用命令 获取镜像 本地构建docker bulid拉取镜像docker pull 镜像名称 查看镜像 docker images删除镜像 docker rmi 镜像名称或镜像id推送镜像 docker push 镜像名称导出镜像 docker save -o 文件名.tar 镜像名称加载镜像 docker load -i 文件名.tar加载镜像 docker load -i -q 文件名.tar 不输出日志 1、查看镜像 docker images2、拉取镜像mysql5.7 docker pull mysql:5.73、将mysql镜像打成压包如果别的同学网不好你可以把这个包丢给她。 docker save -o mysql.tar mysql:5.74、删除mysql镜像 docker rmi mysql:5.7 5、加载镜像mysql.tar docker load -i mysql.tar 3. 容器操作命令 容器保护三个状态 运行进程正常运行暂停进程暂停CPU不再运行并不释放内存停止进程终止回收进程占用的内存、CPU等资源 容器常用命令 docker run创建并运行一个容器处于运行状态。 docker run --name [容器名] -p 宿主机端口号:容器内部端口号 -d [镜像名称] docker pause让一个运行的容器暂停。docker unpause让一个容器从暂停状态恢复运行。docker stop停止一个运行的容器。docker start让一个停止的容器再次运行。docker restart重启容器。docker rm删除一个容器。docker rm -f 强制删除容器。docker ps查看正在运行的容器。docker ps -a查看所有容器。docker logs 容器名 查看容器日志。docker logs -f 容器名 持续查看容器日志。进入容器docker exec -it 容器名 bash。execute执行 扩展 docker run -it IMAGES_NAME #会创建前台进程但是会在输入exit后终止进程。docker attach DOCKER_ID #会通过连接stdin连接到容器内输入输出流会在输入exit后终止进程.docker exec -it DOCKER_ID /bin/bash #会连接到容器可以像SSH一样进入容器内部进行操作可以通过exit退出容器不影响容器运行。#以上几种方式均可通过输入CtrlPQ把前台容器放入后台运行不终止进程。示例练习 1、下载nginx镜像创建并运行一个容器容器名为nginx1 # 下载最新版的nginx docker pull nginx# 创建并运行一个容器,容器名为nginx1,对外提供的端口是800,容器内部端口是80, -d表示后台启动 docker --name nginx1 -p 800:80 nginxdocker run 创建并运行一个容器。–name : 给容器起一个名字比如叫做nginx1。-p 端口映射。-d后台运行容器。nginx镜像名称例如nginx。 浏览器测试访问http://192.168.112.129:800/ 2、进入nginx1容器修改nginx首页内容 docker exec -it nginx1 bashdocker exec 进入容器内部执行一个命令。 -it : 给当前进入的容器创建一个标准输入、输出终端允许我们与容器交互。 mn 要进入的容器的名称。 bash进入容器后执行的命令bash是一个linux终端交互命令。 # 操作文本命令 sed -i -e s#Welcome to nginx#白豆五欢迎您#g -e s#head#headmeta charsetutf-8#g index.html-e 执行多个文本替换。 浏览器再次访问http://192.168.112.129:800/ 扩展redis容器启动命令 # 运行redis容器 docker run --name redis1 -p 6379:6379 -d redis:7.0.0 redis-server --appendonly yes# --appendonly yes 开启AOF(Append Only File)持久化# 进入容器 docker exec -it redis1 bash4. 练习 使用Docker安装一些常用软件。 4.1 安装Redis 1、下载redis镜像 docker pull redis:6.2.82、创建并运行redis容器 docker run --name redis1 -p 6379:6379 -d redis:6.2.8 redis-server --appendonly yesredis-server 启动redis服务–appendonly yes 开启持久化 注意一定要关闭防火墙或者开放端口(在虚拟机上、或者服务器官网的安全组中添加)不然我们windows主机无法访问docker的redis容器。 3、进入redis容器 docker exec -it redis1 bash4、启动redis客户端(命令行工具) redis-cli ok到这里redis就安装成功了。 4.2 RabbitMQ单机部署 1、下载RabbitMQ镜像 docker pull rabbitmq:3.8-management2、安装RabbitMQ容器 docker run \-e RABBITMQ_DEFAULT_USERadmin \-e RABBITMQ_DEFAULT_PASS123456 \-v mq-plugins:/plugins \--name mq1 \--hostname mq1 \-p 15672:15672 \-p 5672:5672 \-d \rabbitmq:3.8-management\ 代表换行要执行多行命令-e 指定环境变量-e RABBITMQ_DEFAULT_USERadmin 用户名-e RABBITMQ_DEFAULT_PASS123456 密码-v 挂载目录或文件 (数据卷)-p 15672:15672 用于页面使用的端口 (管理员页面)-p 5672:5672 用于生产和消费端使用的端口通信端口也就是在代码里使用-d 后台运行–name mq1 容器名字–hostname mq1 RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据默认为主机名 3、测试访问RabbitMQ管理页面http://ip:15672 消息队列模型: 基本模型简单队列、工作队列(work)模型。发布/订阅模型广播、路由、主题。需要依赖交换机 4.3 安装Ubuntu 1、拉取镜像 docker pull ubuntu2、安装ubuntu容器 docker run -it ubuntu /bin/bash3、强制删除运行的容器 docker rm -f 容器名称或容器id4、删除镜像 docker rmi ubuntu四、Docker可视化工具 Portainer是一个可视化的容器镜像的图形管理工具利用Portainer可以轻松构建管理和维护Docker环境。 而且完全免费基于容器化的安装方式方便高效部署。 官方安装说明https://www.portainer.io/installation/ 1、安装Portainer docker run -d -p 9000:9000 \ --restartalways \ -v /var/run/docker.sock:/var/run/docker.sock \ --privilegedtrue \ --name prtainer-test \ portainer/portainer–privilegedtrue 打开root权限 2、浏览器访问Docker管理界面http://192.168.112.129:9000/ ① 创建账号 设置登录密码长度最少8位方便记忆我就设置成12341234啦。 ② 选择管理本地docker环境 ③ 进入docker管理面板 五、数据卷 之前修改容器内部文件需要进入容器里面才能修改操作非常麻烦。 当我们删除容器时容器里的数据就丢失了。容器和数据是耦合在一起的不可复用升级维护困难 解决方案使用数据卷挂载目录。 数据卷volume是一个虚拟目录指向宿主机文件系统中的某个目录。然后让容器和数据卷关联 作用让容器外面的目录和容器里面的目录进行关联。 一旦完成数据卷挂载对容器的一切操作都会作用在数据卷对应的宿主机目录。 这样我们操作外面的宿主机目录就等同于操作容器内的目录。 即使我们把容器干掉数据依然在外面的宿主机目录中保留。 数据卷操作相关的命令 docker volume 【COMMAND】docker volume create创建数据卷。docker volume ls查看所有数据卷。docker volume inspect查看数据卷详细信息包括关联的宿主机目录位置。docker volume rm删除指定数据卷。docker volume prune删除所有未使用的数据卷。 1. 创建和查看数据卷 示例创建一个数据卷并查看数据卷在宿主机的目录位置 创建数据卷 # 语法docker volume create [数据卷名称] docker volume create abcd查看所有数据卷 docker volume ls查看数据卷详细信息卷 docker volume inspect html2. 挂载数据卷 我们在创建容器时可以通过 -v 参数来挂载一个数据卷到某个容器内目录命令格式如下 docker run \--name mn \-v html:/usr/share/nginx/html \-p 8080:80nginx \这里的-v就是挂载数据卷的命令 \ 表示多行输入。 -v html:/root/htm 把html数据卷挂载到容器内的/usr/share/nginx/html这个目录中。 数据卷不存在时会自动创建。手动创建数据卷再挂载也可以 若数据卷中没有文件会将容器目录中的文件挂载到数据卷中。 若数据卷中有文件会将数据卷中的文件覆盖容器目录中。 示例给nginx挂载数据卷 1、启动容器并挂载目录 # 语法:docker run --name 容器名称 -v 数据卷:容器指定目录 -p 80:80 -d 镜像名称或id docker run --name nginx1 -v html:/usr/share/nginx/html -p 80:80 -d nginx2、进入html数据卷所在位置并修改HTML内容 # 查看html数据卷的位置 docker volume inspect html # 进入该目录 cd /var/lib/docker/volumes/html/_data # 修改文件 vi index.html3. 挂载目录 容器不仅仅可以挂载数据卷也可以直接挂载到宿主机目录上。挂载目录和挂载数据卷类似语法如下 挂载数据卷-v [数据卷名称]:[容器内目录]。目录挂载-v [宿主机目录]:[容器内目录]。文件挂载-v [宿主机文件]:[容器内文件]。 数据卷挂载与目录挂载的区别 数据卷挂载耦合度低使用目录别名即数据卷由docker来管理目录但是目录较深不好找。适合数据量小的目录挂载耦合度高需要写完整目录需要我们自己管理目录不过目录更容易查找。适合数据量大的 示例创建并运行一个MySQL容器将宿主机目录直接挂载到容器指定目录中。 1、下载MySQL镜像 docker pull mysql:5.72、创建目录存mysql数据和配置文件 mkdir -p /tmp/mysql/data mkdir -p /tmp/mysql/conf3、在虚拟机/tmp/mysql/conf目录下创建hmy.conf文件 [mysqld] skip-name-resolve character_set_serverutf8 datadir/var/lib/mysqlskip-name-resolve 禁用dns解析。character_set_serverutf8 设置字符集。datadir/var/lib/mysql 容器内部存数据的目录 3、启动mysql docker run \ --name mysql1 \ --restartalways \ -e MYSQL_ROOT_PASSWORDroot \ -e TZAsia/Shanghai \ -p 3306:3306 \ -v /tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf \ -v /tmp/mysql/data:/var/lib/mysql \ -d \ mysql:5.7-p 3306:3306 端口映射。-e MYSQL_ROOT_PASSWORDroot 密码设置为root。-e TZAsia/Shanghai 设置时区。–restartalways 开机自动启动。-v /tmp/mysql/data:/var/lib/mysql 挂载数据存储位置。-v /tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf 挂载配置文件。-d 后台运行。 4、使用navicat或datagrip连接测试。
http://www.w-s-a.com/news/772659/

相关文章:

  • php网站跟随导航西安百姓网免费发布信息网
  • 濮阳做公司网站html5 特效网站
  • ppt设计器怎么打开深圳seo网络推广营销
  • 建设银行网站用360浏览器建设信用卡中心网站
  • 创建公司网站 教程广州建设局
  • 详述网站建设的过程简答题ui培训设计怎么样
  • 动易网站官网ppt主题大全素材
  • 怎样用eclipse做网站可以做宣传图的网站
  • 哪里可以做游戏视频网站做网站平台应该注意哪些
  • 网站后期推广是谁来做网页制作步骤作答题
  • 全屋装修设计定制整装成都网站优化多少钱
  • html5购物网站模板一个网站两个数据库
  • 个人网站怎么做微信支付网站建设项目介绍
  • 建网站合同网站适配移动端和PC端
  • 网站建设培训机构哪里好html5开发wap网站
  • 免费自助建站源码学而思网校官网
  • 中国最大的网站制作公司青海省高等级公路建设管局网站
  • 建设网站对服务器有什么要求吗wordpress去除更新提示
  • 找个为公司做网站的手机端原神
  • 邯郸手机建站价格公众号开发者权限哪里添加
  • wordpress模板电子书下载站微信app官方免费下载
  • 从哪些方面进行网站建设如何做网站的实时画面
  • 设计网站公司收费西安小程序开发公司有哪些
  • 如何建网站赚取佣金哪个网站可以做免费宣传
  • 万网手机网站seo方法
  • 免费制作网站app百度首页纯净版
  • 支持api网站开发wordpress排版Markdown
  • 赤峰做网站的logo设计软件在线制作
  • iis网站批量导入苏州最新新闻事件今天
  • 甘肃省住房和城乡建设厅注册中心网站首页沈阳专业关键词推广