自建购物网站多少钱有没有做cad单的网站
web/
2025/10/2 17:24:36/
文章来源:
自建购物网站多少钱,有没有做cad单的网站,福州短视频seo公司,qfd 网站开发目录 安装Docker
安装yum工具
更新本地镜像源
安装docker
启动docker
关闭防火墙
docker启动命令
配置镜像加速
docker的使用
拉取nginx
查看本地镜像
把镜像文件nginx导出成tar文件
查看是否导出成功
编辑
删除本地镜像nginx:latest
导入镜像文件nginx
拉取…目录 安装Docker
安装yum工具
更新本地镜像源
安装docker
启动docker
关闭防火墙
docker启动命令
配置镜像加速
docker的使用
拉取nginx
查看本地镜像
把镜像文件nginx导出成tar文件
查看是否导出成功
编辑
删除本地镜像nginx:latest
导入镜像文件nginx
拉取redis
把镜像文件redis导出成tar文件
删除本地镜像redis:latest
导入镜像文件nginx
创建并运行容器
nginx容器
创建并运行一个nginx容器
查看容器运行状态
访问容器
查看容器日志
持续更新日志此时每次访问都会打印日志出现
进入容器修改内容
进入容器nginx
进入容器nginx内的html文件
修改index文件内容
退出容器
停止容器mn
启动容器mn
删除容器mn
redis容器
创建并运行一个redis容器并且支持数据持久化
进入容器修改内容
进入容器redis
连接rides
输入数据num
读取数据num
退出容器需要退出两次
数据卷操作
创建一个数据卷
查看数据卷
查看数据卷的详细信息
删除数据卷
删除未使用的数据卷
删除某个数据卷
数据卷挂载
创建一个nginx容器修改里面的内容
创建一个nginx容器
修改该文件的内容
创建mysql容器将主机目录直接挂载到容器
将mysql.tar文件上传可以直接从本机拖到虚拟机到虚拟机并加载
创建目录/tmp/mval/data
创建目录/tmp/myql/lonf
进入 /tmp/myql/lonf 并把文件拖进来
创建并运行MySQL容器
自定义构建镜像基于ubuntu运行java项目
新建一个空文件夹docker-demo
构建docker
运行容器
访问页面
编辑
自定义构建镜像基于java:8-alpine镜像运行java项目
构建docker
访问页面
编辑
DockerCompose
初始化compose
上传compose文件
修改权限
修改hosts文件
补全命令
将cloud-demo微服务集群利用DockerCompose部署
下载提供的文件
把自己的cloud-demo文件的yml文件修改
将每个为微服务都打包成app.jar
将打包好的jar拷贝到提供的cloud-demo文件的每个文件夹里
将加上jar包的cloud-demo文件上传到虚拟机
构建镜像并启动
重新启动
Docker镜像仓库
配置docker信任地址
创建一个yml文件
使用DockerCompose部署DockerRegistry
构建镜像并启动
在私有镜像仓库推送或拉取镜像 Docker是一个快速交付应用、运行应用的技术: 1、可以将程序及其依赖、运行环境一起打包为一个镜像可以迁移到任意Linux操作系统 2、运行时利用沙箱机制形成隔离容器各个应用互不干扰 3、启动、移除都可以通过一行命令完成方便快捷 Docker和虚拟机的差异: 1、docker是一个系统进程虚拟机是在操作系统中的操作系统. 2、docker体积小、启动速度快、性能好;虚拟机体积大、启动速度慢、性能一般 镜像: 将应用程序及其依赖、环境、配置打包在一起 容器: 镜像运行起来就是容器一个镜像可以运行多个容器 Docker结构: 1、服务端:接收命令或远程请求操作镜像或容器 2、客户端:发送命令或者请求到Docker服务端 DockerHub: 一个镜像托管的服务器类似的还有阿里云镜像服务统称为DockerRegistry 镜像操作有哪些? 1、docker images 2、docker rmi 3、docker pull 4、docker push 5、docker save 6、docker load docker run命令的常见参数有哪些? 1、--name:指定容器名称 2、-p∶指定端口映射 3、 -d:让容器后台运行 查看容器日志的命令: 1、docker logs 2、添加-f参数可以持续查看日志 查看容器状态: 1、docker ps 2、添加-a参数查看所有状态的容器 删除容器: 1、 docker rm 2、不能删除运行中的容器除非添加-f参数 进入容器: 1、命令是docker exec -it [容器名][要执行的命令] 2、 exec命令可以进入容器修改文件但是在容器内修改文件是不推荐的 数据卷的作用: 1、将容器与数据分离解耦合方便操作容器内数据保证数据安全 数据卷操作: 1、docker volume create 2、docker volume ls 3、docker volume inspect 4、docker volume rm 5、docker volume prune 数据卷挂载方式: 1、-v volumeName: /targetContainerPath 2、如果容器运行时volume不存在会自动被创建出来 docker run的命令中通过-v参数挂载文件或目录到容器中: 1、-v volume名称:容器内目录 2、-v宿主机文件:容器内文件 3、-v宿主机目录:容器内目录 数据卷挂载与目录直接挂载的 1、数据卷挂载耦合度低由docker来管理目录但是目录较深不好找 2、目录挂载耦合度高需要我们自己管理目录不过目录容易寻找查看 镜像是分层结构每一层称为一个Layer 1、Baselmage层:包含基本的系统函数库、环境变量、文件系统 2、Entrypoint:入口是镜像中应用启动的命令 3、其它:在Baselmage基础上添加依赖、安装程序、完成整个应用的安装和配置 1、Dockerfile的本质是一个文件通过指令描述镜像的构建过程 2、Dockerfile的第一行必须是FROM从一个基础镜像来构建 3、基础镜像可以是基本操作系统如Ubuntu。也可以是其他人制作好的镜像例如: java:8-alpine DockerCompose有什么作用? 帮助我们快速部署分布式应用无需一个个微服务去构建镜像和部署。 1、推送本地镜像到仓库前都必须重命名(docker tag)镜像以镜像仓库地址为前缀 2、镜像仓库推送前需要把仓库地址配置到docker服务的daemon.json文件中被docker信任 3、推送使用docker push命令 4、拉取使用docker pull命令 安装Docker
安装yum工具 yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 --skip-broken 更新本地镜像源 yum-config-manager \ --add-repo \ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sed -i s/download.docker.com/mirrors.aliyun.com\/docker-ce/g /etc/yum.repos.d/docker-ce.repo yum makecache fast 安装docker yum install -y docker-ce 启动docker
关闭防火墙
关闭 systemctl stop firewalld 禁止开机启动防火墙 systemctl disable firewalld 查看防火墙状态显示dead则说明关闭了 systemctl status firewalld docker启动命令
启动docker systemctl start docke 关闭docker systemctl stop docker 重启docker: systemctl restart docker 查看docker状态running为运行中 systemctl status docker 配置镜像加速
阿里云的镜像加速文档
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
选择自己的系统然后复制命令到虚拟机中 docker的使用
拉取nginx docker pull nginx 查看本地镜像 docker images 镜像名字、版本latest是最新版、镜像id、官方的创建时间、大小 把镜像文件nginx导出成tar文件
其中nginx.tar是要保存成的文件、nginx:latest是要被保存的镜像名称以及版本 docker save -o nginx.tar nginx:latest 查看是否导出成功 删除本地镜像nginx:latest docker rmi nginx:latest 导入镜像文件nginx docker load -i nginx.tar 拉取redis docker pull redis 把镜像文件redis导出成tar文件
其中redis.tar是要保存成的文件、redis:latest是要被保存的镜像名称以及版本 docker save -o redis.tar redis:latest 删除本地镜像redis:latest docker rmi redis:latest 导入镜像文件nginx docker load -i redis.tar 创建并运行容器
nginx容器
创建并运行一个nginx容器
docker run创建并运行一个容器
--name给容器起一个名字比如叫做mn
-p宿主机端口与容器端口映射冒号左侧是宿主机端口右侧是容器端口
-d后台运行容器
nginx镜像名称例如nginx docker run --name mn -p 80:80 -d nginx 查看容器运行状态 docker ps 访问容器
在本机访问虚拟机里的ip加容器端口 查看容器日志 docker logs mn 持续更新日志此时每次访问都会打印日志出现 docker logs -f mn 进入容器修改内容
进入容器nginx
docker exec进入容器内部执行一个命令
-it给当前进入的容器创建一个标准输入、输出终端允许我们与容器交互
mn要进入的容器的名称
bash进入容器后执行的命令bash是一个linux终端交互命令 docker exec -it mn bash 进入容器nginx内的html文件 cd /usr/share/nginx/html 修改index文件内容
sed -i s#需要修改的内容#要修改成的内容#g 文件名称.后缀名 sed -i s#head#headmeta charsetutf-8#g index.html sed -i s#Welcome to nginx#Hello World#g index.html 刷新页面发现成功修改 退出容器 exit 停止容器mn docker stop mn 启动容器mn docker start mn 删除容器mn docker rm -f mn redis容器
创建并运行一个redis容器并且支持数据持久化
docker run创建并运行一个容器
--name给容器起一个名字比如叫做mr
-p宿主机端口与容器端口映射冒号左侧是宿主机端口右侧是容器端口
-d后台运行容器
redis镜像名称例如redis
--appendonly持久化 docker run --name mr -p 6379:6379 -d redis redis-server --appendonly yes 进入容器修改内容
进入容器redis
docker exec进入容器内部执行一个命令
-it给当前进入的容器创建一个标准输入、输出终端允许我们与容器交互
mr要进入的容器的名称
bash进入容器后执行的命令bash是一个linux终端交互命令 docker exec -it mn bash 连接rides redis-cli 输入数据num set num 666 读取数据num get num 退出容器需要退出两次 exit 数据卷操作
创建一个数据卷
取名字为html docker volume create html 查看数据卷 docker volume ls 查看数据卷的详细信息
html为要查看的数据卷名称 docker volume inspect html 删除数据卷
删除未使用的数据卷 docker volume prune 删除某个数据卷
这里删除html docker volume rm html 数据卷挂载
创建一个nginx容器修改里面的内容
创建一个nginx容器
docker run创建并运行一个容器
--name给容器起一个名字比如叫做mr
-p宿主机端口与容器端口映射冒号左侧是宿主机端口右侧是容器端口
-d后台运行容器
nginx镜像名称例如nginx
-v冒号前面是文件名称冒号后面是文件目录 docker run --name mn -p 80:80 -v html:/usr/share/nginx/html -d nginx 修改该文件的内容
在文件夹里找到该文件并修改 在本机网页中输入虚拟机ip加端口80 创建mysql容器将主机目录直接挂载到容器
将mysql.tar文件上传可以直接从本机拖到虚拟机到虚拟机并加载
mysql.tar文件https://pan.baidu.com/s/19YPQmM9GRKE2LpEG3cNLIg?pwdlvx0 docker load -i mysql.tar 创建目录/tmp/mval/data mkdir -p mysql/data 创建目录/tmp/myql/lonf mkdir -p mysql/conf 进入 /tmp/myql/lonf 并把文件拖进来
hmy.cnf文件https://pan.baidu.com/s/1TKN8xzLZ0HP3l2iLMAeoHw?pwdz9nr
创建并运行MySQL容器 docker run --name mysql -e MYSQL_ROOT_PASSWORD1234 -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.25 使用本地的数据库软件访问虚拟机的数据库
可以访问成功 自定义构建镜像基于ubuntu运行java项目
新建一个空文件夹docker-demo cd /tmp/ mkdir docker-demo cd docker-demo/ 把三个文件拖进/tmp/docker-demo
三个文件https://pan.baidu.com/s/1JtblpFkgVjUf6H_PA8i0eA?pwdmqvy
Dockerfile文件内容为
# 指定基础镜像
FROM ubuntu:16.04
# 配置环境变量JDK的安装目录
ENV JAVA_DIR/usr/local# 拷贝jdk和java项目的包
COPY ./jdk8.tar.gz $JAVA_DIR/
COPY ./docker-demo.jar /tmp/app.jar# 安装JDK
RUN cd $JAVA_DIR \ tar -xf ./jdk8.tar.gz \ mv ./jdk1.8.0_144 ./java8# 配置环境变量
ENV JAVA_HOME$JAVA_DIR/java8
ENV PATH$PATH:$JAVA_HOME/bin# 暴露端口
EXPOSE 8090
# 入口java项目的启动命令
ENTRYPOINT java -jar /tmp/app.jar
构建docker
-t后面是名称后面是版本号后面空格后有个点这是路径因为在当前路径了所以用点 docker build -t javaweb:1.0 . 运行容器 docker run --name web -p 8090:8090 -d javaweb:1.0 访问页面 自定义构建镜像基于java:8-alpine镜像运行java项目
与基于Ubuntu不同的是dockerfile文件的内容不同其他都相同
dockerfile文件内容为
# 指定基础镜像
FROM java:8-alpine# 拷贝java项目的包
COPY ./docker-demo.jar /tmp/app.jar# 暴露端口
EXPOSE 8090
# 入口java项目的启动命令
ENTRYPOINT java -jar /tmp/app.jar
构建docker
-t后面是名称后面是版本号后面空格后有个点这是路径因为在当前路径了所以用点 docker build -t javaweb:2.0 . 访问页面 DockerCompose
初始化compose
上传compose文件
把compose文件拖到/usr/local/bin里
compose文件https://pan.baidu.com/s/1SL7aJ3AAzK-1NXjHZVkrTA?pwdmbe6
修改权限 chmod x /usr/local/bin/docker-compose 修改hosts文件
这里的ip不用改 echo 199.232.68.133 raw.githubusercontent.com /etc/hosts 补全命令 curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose /etc/bash_completion.d/docker-compose 将cloud-demo微服务集群利用DockerCompose部署
下载提供的文件
该cloud-demo文件已经编写好了docker-compose的文件夹
cloud-demo文件https://pan.baidu.com/s/1f72g9cSKBSU3Gs3PYF5Azg?pwdnq8t
把自己的cloud-demo文件的yml文件修改
user-service的bootstrap.yml文件
spring:application:name: userservice #服务名称profiles:active: dev #开发环境这里是devcloud:nacos:server-addr: nacos:8848 #nacos地址config:file-extension: yaml #文件后缀名
user-service的application.yml文件
server:port: 8081
spring:datasource:url: jdbc:mysql://mysql:3306/cloud_user?useSSLfalseusername: rootpassword: 1234driver-class-name: com.mysql.jdbc.Driver
# application:
# name: userservice #user的微服务名称
# cloud:
# nacos:
# server-addr: localhost:8848 #nacos服务地址
# discovery:
# cluster-name: SH #集群名称
mybatis:type-aliases-package: cn.itcast.user.pojoconfiguration:map-underscore-to-camel-case: true
logging:level:cn.itcast: debugpattern:dateformat: MM-dd HH:mm:ss:SSS
#eureka:
# client:
# service-url: #eureka地址信息
# defaultZone: http://127.0.0.1:10086/eurekapattern:name: 本地环境local
order-service的application.yml文件
server:port: 8080
spring:datasource:url: jdbc:mysql://mysql:3306/cloud_order?useSSLfalseusername: rootpassword: 1234driver-class-name: com.mysql.jdbc.Driverapplication:name: orderservice #order的微服务名称cloud:nacos:server-addr: nacos:8848
# discovery:
# cluster-name: HZ #集群名称
## namespace: 8279562b-ce89-420a-b765-f8b2adfdbe49 #命名空间id
# ephemeral: false #是否为临时实例
mybatis:type-aliases-package: cn.itcast.user.pojoconfiguration:map-underscore-to-camel-case: true
logging:level:cn.itcast: debugpattern:dateformat: MM-dd HH:mm:ss:SSS
#eureka:
# client:
# service-url: #eureka地址信息1
# defaultZone: http://127.0.0.1:10086/eureka
userservice:ribbon:NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule #负载均衡规则随机。范围userservice服务
ribbon:eager-load:enabled: true #开启饥饿加载clients: #指定饥饿加载的服务- userservice
#feign:
# client:
# config:
# default: #这里用default就是全局配置如果是写服务名称则是针对某个微服务的配置
# loggerLevel: FULL #日志级别
feign:httpclient:enable: true #支持httpClient的开关max-connections: 200 #最大连接数max-connections-per-route: 50 #单个路径的最大连接数gateway的application.yml文件
server:port: 10010 #网关端口
spring:application:name: gateway #服务名称cloud :nacos:server-addr: nacos:8848 #nacos地址gateway:routes: #网关路由配置- id: user-service #路由id自定义只要唯一即可# uri: http://127.0.0.1:8081 #路由的目标地址 http就是固定地址uri: lb://userservice #路由的目标地址lb就是负载均衡后面跟服务名称predicates: #路由断言也就是判断请求是否符合路由规则的条件- Path/user/** #这个是按照路径匹配只要以/user/开头就符合要求
# filters:
# - AddRequestHeaderTruth,Itcast is freaking awesome! #添加请求头- id: order-service #路由id自定义只要唯一即可uri: lb://orderservice #路由的目标地址lb就是负载均衡后面跟服务名称predicates: #路由断言也就是判断请求是否符合路由规则的条件- Path/order/** #这个是按照路径匹配只要以/user/开头就符合要求
# - After2031-04-13T15:14:47.43308:00[Asia/Shanghai] #要求访问时间在这个之后- Before2031-04-13T15:14:47.43308:00[Asia/Shanghai] #要求访问时间在这个之后default-filters: #默认过滤器会对所有的路由请求都生效- AddRequestHeaderTruth,Itcast is freakina awesome! #添加情求头globalcors: # 全局的跨域处理add-to-simple-url-handler-mapping: true # 解决options请求被拦截问题corsConfigurations:[/**]:allowedOrigins: # 允许哪些网站的跨域请求- http://localhost:8090- http://www.leyou.comallowedMethods: # 允许的跨域ajax的请求方式- GET- POST- DELETE- PUT- OPTIONSallowedHeaders: * # 允许在请求中携带的头信息allowCredentials: true # 是否允许携带cookiemaxAge: 360000 # 这次跨域检测的有效期
将每个为微服务都打包成app.jar 将打包好的jar拷贝到提供的cloud-demo文件的每个文件夹里
我提供的cloud-demo已经把jar包安好了但是你还是需要重新把自己的jar包覆盖我的不然可能报错
将加上jar包的cloud-demo文件上传到虚拟机
拖到/tmp中 构建镜像并启动 cd /tmp/cloud-demo/ docker-compose up -d 输入docker-compose logs -f查看日志会发现报错。这是因为nacos还未启动就启动了其他的微服务所以这里重启启动这三个微服务
重新启动 docker-compose restart gateway userservice orderservice 访问网页发现可以成功 Docker镜像仓库
配置docker信任地址
我们的私服采用的是http协议默认不被Docker信任所以需要做一个配置。
这里的xxx要填虚拟机的ip地址 # 打开要修改的文件 vi /etc/docker/daemon.json # 添加内容 insecure-registries:[http://xxx.xxx.xxx.xxx:8080] # 重加载 systemctl daemon-reload # 重启docker systemctl restart docker 创建一个yml文件 cd /tmp/ mkdir registry-ui cd registry-ui/ touch docker-compose.yml 使用DockerCompose部署DockerRegistry
打开刚刚创建的yml文件把下面的配置粘贴进去 version: 3.0 services: registry: image: registry volumes: - ./registry-data:/var/lib/registry ui: image: joxit/docker-registry-ui:static ports: - 8080:80 environment: - REGISTRY_TITLE传智教育私有仓库 - REGISTRY_URLhttp://registry:5000 depends_on: - registry 构建镜像并启动 docker-compose up -d 访问网页发现成功 在私有镜像仓库推送或拉取镜像 推送镜像到私有镜像服务必须先tag 1、重新tag本地镜像名称前缀为私有仓库的ip。 ip前面的是本地镜像名称和版本ip以及后面是上传的名字和版本。docker tag nginx:latest xxx.xxx.xxx.xxx:8080/nginx:1.0 2、推送镜像 docker push xxx.xxx.xxx.xxx:8080/nginx:1.0 此时查看私有镜像仓库发现多了一个 3、拉取镜像仓库的镜像 此时复制了该镜像的地址只要运行该命令就行 代码文件点击下载https://pan.baidu.com/s/1v78HH8Xm5tlThBIDVqgzMw?pwd1vjo
上一篇Gateway网关
下一篇RabbitMQ
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/85729.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!