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

提升政务网站建设水平青岛做网站大公司有哪些

提升政务网站建设水平,青岛做网站大公司有哪些,网站建设 网页设计 的文章,杭州的网站建设公司哪家好docker是什么#xff1f;它有什么优势#xff1f; 快速获取开箱即用的程序 docker使得所有的应用传输就像我们日常通过聊天工具文件传输一样#xff0c;发送方将程序传输到超级码头而接收方也只需通过超级码头进行获取即可#xff0c;就像一只鲸鱼拖着货物来回运输一样。…docker是什么它有什么优势 快速获取开箱即用的程序 docker使得所有的应用传输就像我们日常通过聊天工具文件传输一样发送方将程序传输到超级码头而接收方也只需通过超级码头进行获取即可就像一只鲸鱼拖着货物来回运输一样。 修改方便 原有服务器上程序修改时我们需要到文件位置进行修改有了docker之后修改程序只需要使用一条命令就能够完成应用的快速修改 程序启动关闭方式统一 在使用docker之前我们不同的程序启动命令各不相同例如:nginx使用./nginx,tomcat使用./startup.sh,而docker将这些启动命令都封装了起来启动程序的命令格式基本统一。 隔离 docker使用一种叫做LXC的轻量级容器化虚拟技术通过cgroup和namespace限制进程组所用的CPU、内存等资源。而且相对于虚拟机而言该技术创建一个隔离的空间更快、更高效。 docker解决了哪些问题 环境统一 就以tomcat为例docker会把tomcat启动所需要的jdk等环境都配置好了像一个集装箱一样打包到鲸鱼上当我们需要tomcat时一条命令即可获取到tomcat然后开箱即用。 限定进程使用的内存大小 过去我们常常会遇到某个进程把内存打爆导致其他程序也崩溃的情况有了docker之后它会将进程非法使用内存时将其直接杀死。 部署方便 就以tb双十一为例在双十一这个节点时我们可能需要搭建一个更加庞大的集群过去搭建过程中我们可能需要为每台服务器都配置jdktomcat、mysql等乱七八糟由于集群数量庞大手工一台台配置过去将会耗费大量的人力物力。 我们只需基于镜像即可完成服务的部署。 容器、镜像、仓库是什么 镜像 镜像的英文名叫image即我们打包好的应用镜像本质来说就是快速构建程序的一个原料。 从本质上来说image就是一些列文件的组合可以包括程序运行文件也可以包括环境配置文件等。 这里需要提到Linux的联合文件系统的概念它使得操作系统中不同的层级的文件可以在某个统一的层级上看到。 例如我有有一个文件夹f1里面有文件file1。还有一个文件夹f2里面有文件file2。通过联合文件系统我们就可以使得在最上层的文件夹f3看到这两个文件夹的文件。 而docker镜像也是按照这种方式进行创建的将操作系统引导、基础镜像、各种用户需要的程序进行分层下层对于上层来说都是只读然后加载成同一层级的目录供外界使用这样的一个文件我们就称之为镜像。 容器 我们通过镜像创建的进程即称之为程序。 我们完全可以把docker想象成一个虚拟机与虚拟机不同的是docker的文件系统是分层的除了最上层的是可写的以外其他层都是只读的。这就使得我们需要修改镜像文件时它会把所需文件拷贝到最上层进行操作。而读文件也是自顶向下查找。 通过复制文件到最上层进行修改然后生成独立的容器使得镜像不会被改变这使得我们一个镜像文件可以创建出多种容器。 仓库 我们需要的镜像肯定都保存在某个仓库中每次运输镜像都需要从这个仓库里查找国内比较有名的大概就是网易蜂巢提供的镜像仓库地址如下: https://c.163yun.com/hub#/m/home/ docker安装 由于笔者使用centos进行安装所以在安装前确认你的centos内核高于3.10具体可以键入如下命令进行确认 uname -r 以笔者为例可以看到输出的版本为4所以符合docker安装条件 4.19.91-24.1.al7.x86_64 安装前确保移除旧依赖(卸载干净) 删除所有docker相关的目录 rm -rf /etc/docker rm -rf /run/docker rm -rf /var/lib/dockershim rm -rf /var/lib/docker杀掉所有的docker进程 ps -ef | grep docker kill -9 pid查找docker相关安装包并使用yum -y remove移除 yum list installed | grep docker安装相关依赖 yum install -y yum-utils \device-mapper-persistent-data \lvm2设置仓库地址 yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo安装docker yum install docker-ce docker-ce-cli containerd.io启动并加入开机启动 # 启动 systemctl start docker#设置为开机启动 systemctl enable docker很多读者在这一步很可能会出现下面这些错误: Job for docker.service failed because the control process exited with error code. See systemctl status docker.service and journalctl -xe for details.这里我们按照要求键入status命令查看一下输出 systemctl status docker.service 若你和笔者一样键入查看docker状态的命令后输出下面的结果的话你就可以和笔者一样步骤进行修复反之则需自行百度: ● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)Active: failed (Result: exit-code) since Sat 2023-12-16 07:42:02 EST; 8s agoDocs: http://docs.docker.com # 略Dec 16 07:42:02 MiWiFi-R1D-srv dockerd-current[29413]: Error starting daemon: SELinux is not supported with the overlay2 graph driver on this kernel. Either boot into a newer ...bledfalse)很明显报错原因是我们的Linux服务器的内核中的SELinux不支持 overlay2 graph driver 所以我们需要修改docker配置避免这个校验 vim /etc/sysconfig/docker从下图可以看出笔者将--selinux-enabledfalse 完成之后再次启动docker就可以正常启动了。 修改docker源地址 编辑daemon.json(若不存在则新建) vim /etc/docker/daemon.json加入如下内容 { registry-mirrors: [https://fy707np5.mirror.aliyuncs.com] } 重启 systemctl daemon-reload systemctl restart docker验证是否安装成功 输入以下命令如果正常输出docker版本信息说明安装成功了 docker version 运行docker run hello-world若显示如下则说明安装成功 Unable to find image hello-world:latest locally latest: Pulling from library/hello-world 1b930d010525: Pull complete Digest: sha256:0e11c388b664df8a27a901dce21eb89f11d8292f7fca1b3e3c4321bf7897bffe Status: Downloaded newer image for hello-world:latestHello from Docker! This message shows that your installation appears to be working correctly.To generate this message, Docker took the following steps:1. The Docker client contacted the Docker daemon.2. The Docker daemon pulled the hello-world image from the Docker Hub.(amd64)3. The Docker daemon created a new container from that image which runs theexecutable that produces the output you are currently reading.4. The Docker daemon streamed that output to the Docker client, which sent itto your terminal.To try something more ambitious, you can run an Ubuntu container with:$ docker run -it ubuntu bashShare images, automate workflows, and more with a free Docker ID:https://hub.docker.com/For more examples and ideas, visit:https://docs.docker.com/get-started/(实践)部署nginx 首先我们得打开网易蜂巢镜像中心 https://c.163yun.com/hub#/m/home/ 进入网站后搜索nginx镜像 如下图所示最上方就是最新的我们点进去复制拉取命令进行镜像拉取 点击复制 回到输入docker pull 并粘贴刚刚复制的地址 docker pull hub.c.163.com/library/nginx:latest完成后键入如下命令查看是否有nginx镜像 docker images 可以看到笔者已经成功安装拉到nginx镜像了 完成后我们即可启动nginx了下面是前台运行的方式笔者不建议使用这里只做个展示 docker run hub.c.163.com/library/nginx我们添加-d 进行后台启动 docker run -d hub.c.163.com/library/nginx键入下面这个指令查看nginx是否运行成功 docker ps可以看到笔者的nginx已经成功运行了 我们都知道nginx默认端口是80所以在浏览器键入ip地址能看到下图所示的页面说明docker部署nginx成功了 进入nginx容器内部进行操作 使用docker ps查看nginx进程id号 docker ps|grep nginx 拿着CONTAINER ID运行命令docker exec -it 你的nginx CONTAINER ID bash如下所示 docker exec -it 5a2438be1163 bash 可以看到我们就像进入一个新的操作系统一样操作的nginx容器 使用ps -ef确认nginx是否在这容器中运行需要注意的是容器内部可能没有ps命令我们需要使用如下两条命令安装一下 apt-get updateapt-get install procps完成后我们再次键入ps -ef即可看到nginx是否在运行了 同样的我们还可以使用which命令看看nginx位置 which nginx 我们可以使用exit退出容器 如下所示键入exit即可回到操作系统的终端界面 exit停止nginx 有了上文的基础相信读者也对docker操作有所感觉停止也很简单使用docker ps找到对应容器id使用stop命令即可如下所示 docker ps停止 docker stop 5a2438be1163使用docker ps可以看出nginx已经成功停止了 使用不同的端口号运行对应容器 docker网络介绍 我们都知道docker的隔离性,网络也是个隔离性的一部分,Linux使用了命名空间来进行资源的隔离,比如pid namespace就是用来隔离进程的,mount namespace是用来隔离文件系统的,network namespace 是用来隔离网络的.每一个network namespace都提供了一个独立的网络环境,包括网卡路由iptable规则等等,都是与以其它的network space隔离的. docker容器在默认情况下,一般会分配一个独立的network-namespace,也就是网络类型中的Bridge模式(可以理解为虚拟机的那种桥接模式)。 因为Bridge使用的独立的network-namespace这就我们需要使用桥接的方式的服务器和docker容器的端口构成映射关系确保外部用户可以通过映射端口来访问docker容器。 还有一种类型是Host模式(仅主机模式),如果在启动容器的时候指定使用Host模式,那么这个容器将不会获得一个独立的network namespace,而是和主机共同使用一个,这个时候容器将不会虚拟出自己的网卡,配置出自己的ip.而是使用宿主机上的ip和端口.也就是说在docker上使用网络和在主机上使用网络是一样的。 还有一种网络类型是None.也就是没有网络,这种情况docker将不会和外界的任何东西进行通讯。 (实践)将nginx在8081上运行 docker run -d -p 8081:80 hub.c.163.com/library/nginx 可以看到8081也可以正常访问 这里补充一下docker也支持随机分配映射端口使用-P即可 docker run -d -P hub.c.163.com/library/nginx(实践)基于docker部署一个MySQL数据库 拉MySQL镜像到本地 docker pull hub.c.163.com/library/mysql:latest键入run命令运行MySQL docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORDXXXX hub.c.163.com/library/mysql 查看mysql对应容器id docker ps |grep mysql进入容器内部进行配置 docker exec -it f17636c0e3f2 bash配置账户密码对外放权限首先我们需要输入下面这段命令登录MySQL密码为启动时设置的密码 mysql -u root -p设置用户权限 # 使用MySQL use mysql;# 查询user表 select host,user from user; # 修改root用户密码 ALTER USER root% IDENTIFIED WITH mysql_native_password BY 密码; # 刷新 flush privileges;创建一个名为test的数据库并创建account表语句如下: CREATE DATABASE test;-- create table account # DROP TABLE account IF EXISTS CREATE TABLE account (id int(11) NOT NULL AUTO_INCREMENT,name varchar(20) NOT NULL,money double DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT4 DEFAULT CHARSETutf8; INSERT INTO account VALUES (1, aaa, 1000); INSERT INTO account VALUES (2, bbb, 1000); INSERT INTO account VALUES (3, ccc, 1000);本地尝试连接MySQL数据库 这里笔者遇到了一个坑不知道为什么本地连接不到mysql上明明将虚拟机的防火墙也关了为什么还连接不上呢 在经过确认ip地址准确防火墙也是绝对肯定关闭的情况下这就说明我们的设置没有问题但肯定是哪个配置出问题了于是笔者使用telnet进行确认 telnet 192.168.0.128 3306果然有问题于是我们就需要再次通过搜素引擎解决问题了但是我们该如何使用搜素引擎呢 笔者认为面对这种问题都需要对问题的现象关键字加以搜索例如 centos 关闭防火墙 无法访问于是笔者找到了这篇文章 linux关闭防火墙了但端口还是访问不了 真相大白了centos即使关闭了防火墙也只能使用22端口连接ssh别的端口还是不能用所以我们需要开启防火墙手动设置要分开的端口就以mysql为例我们需要这样做。 先开启firewalld systemctl start firewalld放通端口 firewall-cmd --zonepublic --add-port3306/tcp --permanent 重新加载配置文件 firewall-cmd --reload尝试本地连接到docker上的数据库如果可以查询到数据则说明MySQL部署成功了 关于更多docker常用命令 卸载docker 卸载docker软件包 yum -y remove docker-engine若需要删除镜像、容器、卷以及自定义配置文件可执行以下命令 rm -rf /var/lib/docker搜索镜像 例如我们想搜索java相关的镜像 docker search java 可以得到这样的结果。每一列的意思分别是 NAME:镜像仓库名称 DESCRIPTION:镜像仓库描述 STARS收藏数 OFFICIAL:表这个仓库是否是官方仓库若显示ok则说明是官方创建和维护的 NAME DESCRIPTION STARS OFFICIAL AUTOMATED node Node.js is a JavaScript-based platform for s… 11312 [OK] 下载镜像 docker pull java列出镜像 使用这条命令就可以知晓我们之前所下载的镜像 docker images 下图列意依次为 REPOSITORY:镜像所属仓库TAG镜像标签默认lastest即最新版IMAGE ID镜像idCREATED镜像创建的时间SIZE镜像大小 删除镜像 如下所示即意为删除java的镜像 docker rmi java新建并启动容器 使用docker run即可创建并启动一个容器这是最常用的一个命令他还有很多的选项如下所示 -d 表示后台运行 -P 随机端口映射 -p 指定端口映射有以下四种格式ip:hostPort:containerPortip::containerPortcontainerPort--network选项指定docker的网络模式该选项有以下几个参数 --networkbridge 连接默认网桥 --networkhost 仅主机 --networkcontainer:Name_or_I:这种就是格式docker让新建的容器使用已有容器的网络配置 --networknone 无网络配置例如: 使用映射端口的形式运行nginx docker pull nginxdocker run -d -p 91:80 nginx停止容器 找到运行容器的id docker ps如下图所示可知nginx的container id为c93a0e0ac108 运行stop命令 docker stop c93a0e0ac108再次使用docker ps可以看到这个容器已经被关闭了 当然如果我们需要再开启还可以使用docker start 容器id启动 docker start c93a0e0ac108进入容器 docker exec -it 容器id bash退出容器 键入命令exit即可退出容器回到终端界面 删除容器 docker rm 容器id查看日志 docker logs 容器id查看docker性能开销 docker stats参考文献 docker入门利用docker部署web应用):http://t.csdn.cn/PYAr8 只需三步完美卸载Docker:https://blog.csdn.net/wangerrong/article/details/126750198 解决docker启动报错“Error starting daemon: SELinux is not supported with the overlay2 graph driver on this:https://blog.csdn.net/haoding205/article/details/82492263
http://www.pierceye.com/news/378064/

相关文章:

  • 淘宝客免费网站建设宝塔搭建wordpress主机地址
  • 可以看网站的浏览器wordpress+博客+简书
  • 游戏源码网站免费网站模板有哪些内容
  • 江西网站优化广东网站设计有名的公司
  • wordpress整合dplayer关键词优化举例
  • wordpress怎么设置跳站外链接番禺网站建设培训学校
  • 怎样建立网站平台新网站应该怎么做
  • 根据颜色找网站济南做网站公司排名
  • 面对面视频 网站开发网络科技加我qq是干嘛
  • 如何登录网站制作平台百度旧版本
  • 广东营销型网站建设报价定制商品的app
  • 网站导航常用关键字电子商务网站设计内容
  • 建设vip网站相关视频wordpress 修改用户头像
  • 考百度指数 某个关键词在某个行业网站上的wordpress与Wix对比
  • 机器人网站建设规划书福州网站制作怎样
  • 自己创建一个网站需要多少钱2023最建议买10款手机
  • 寻找富阳网站建设国内个人网站欣赏
  • 企业自建站城市建设模拟游戏官方网站
  • 网站建设数据库类型建立网站信息发布登记制度
  • it培训机构都有哪些seo推广教程seo推广技巧
  • 龙岩网站开发较好的公司wordpress屏蔽首页
  • 有没有做美食的网站深圳网站建站公司
  • 学校网站建设需求分析调研表网站右侧信息跟随左侧菜单栏变化
  • 家乡网站建设策划案邢台哪里建网站
  • 网站建设实习收获青岛网上房地产网站
  • 简述电子政务网站设计的技术企业邮箱是什么类型的账户
  • 深圳网站建设公司元嘉定网站开发
  • 佛山外贸网站建设平台上传网站安装教程
  • c2c网站建设实例德国网站建设
  • 建网站支持设备是什么意思佛山中小企业网站建设