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

淄博网站排名外包青海省建筑信息平台

淄博网站排名外包,青海省建筑信息平台,机械加工网名怎么起,遵义市住房城乡建设局网站目录 1.初识Docker 1.1 为什么使用docker 1.2 Docker技术 1.3.安装Docker 1.4.Docker架构 1.5.配置Docker镜像加速器 2.Docker常用命令 2.1.Docker服务相关的命令 2.2.Docker镜像相关的命令 2.3.Docker容器相关的命令 3. 容器的数据卷 3.1.数据卷的概念和作用 3.2…目录 1.初识Docker 1.1 为什么使用docker 1.2 Docker技术 1.3.安装Docker 1.4.Docker架构 1.5.配置Docker镜像加速器 2.Docker常用命令 2.1.Docker服务相关的命令 2.2.Docker镜像相关的命令 2.3.Docker容器相关的命令 3. 容器的数据卷 3.1.数据卷的概念和作用 3.2.配置数据卷 4.Docker应用部署 4.1.Docker部署mysql 4.2.Docker部署Redis 4.3.Docker部署tomcat 4.4.Docker部署nginx 4.5.Docker部署RabbitMQ 5.自定义镜像 5.1.Docker镜像的原理 5.2. 镜像制作 5.3.dockerfile的概念[重] 5.4.Dockerfile关键字 5.5.Dockerfile案例 案例1 案例2 案例3 5.6.把本地镜像上传阿里远程镜像仓库 6.Idea关联Docker  6.1.Docker开启远程访问 6.2.Idea安装docker插件 7.Docker服务编排 7.1.概述 7.2.Docker Compose 安装使用 8.需要图形化界面 1.初识Docker 1.1 为什么使用docker 我就可以把项目以及项目依赖的配置和软件一起打包---【镜像】---直接在测试环境下运行该镜像。无需担心环境的不同导致无法运行的问题。   1.2 Docker技术 Docker是基于Go语言实现的云开源项目。 Docker的主要目标是“BuildShip and Run Any App,Anywhere”也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理使用户的APP可以是一个WEB应用或数据库应用等等及其运行环境能够做到“一次镜像处处运行”。 Linux容器技术的出现就解决了这样一个问题而 Docker 就是在它的基础上发展过来的。将应用打成镜像通过镜像成为运行在Docker容器上面的实例而Docker容器在任何操作系统上都是一致的这就实现了跨平台、跨服务器。只需要一次配置好环境换到别的机子上就可以一键部署好大大简化了操作。 Docker的应用 1.3.安装Docker Docker可以运行在MAC、Windows、CentOS、UBUNTU等操作系统上 演示CentOS7安装Docker 官网: Docker: Accelerated, Containerized Application Development 虚拟机中执行步骤 # 1、yum包更新到最新yum update #2、安装需要的软件包yum-util提供yum-config-manager功能另外两个是devicemapper驱动依赖的yum install -y yum-utils device-mapper-persistent-data lvm2 # 3、设置yum源--指定你下载docker软件的网址yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo #4、安装docker ,出现输入的界面都按y---下载并安装docker-ce[社区版] docker-ee[企业版]yum install -y docker-ce # 5、查看docker版本,验证是否验证成功docker -v 1.4.Docker架构 Docker 镜像Image就是一个只读的模板。镜像可以用来创建 Docker 容器一个镜像可以创建很多容器。 容器(Container) :Docker 利用容器Container独立运行的一个或一组应用。就像是Java中的类和实例对象一样镜像是静态的定义容器是镜像运行时的实体。容器为镜像提供了一个标准的和隔离的运行环境它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台 仓库Repository是集中存放镜像文件的场所。 类似于 Maven仓库存放各种jar包的地方 github仓库存放各种git项目的地方 Docker公司提供的官方registry被称为Docker Hub存放各种镜像模板的地方。 仓库分为公开仓库Public和私有仓库Private两种形式。 最大的公开仓库是 Docker Hub(https://hub.docker.com/) 存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云 、网易云等 1.5.配置Docker镜像加速器 默认情况下将来从docker hub (https://hub.docker.com/)上下载docker镜像太慢。一般都会配置镜像加速器: USTC:中科大镜像加速器(https://docker.mirrors.ustc.edu.cn) 阿里云--网易云--腾讯云 演示阿里云中配置镜像加速器 进入阿里云官网 搜索     2.Docker常用命令 2.1.Docker服务相关的命令 停止docker服务: systemctl stop docker启动docker服务: systemctl start docker重启docker服务: systemctl restart docker开机启动docker服务: systemctl enable docker 2.2.Docker镜像相关的命令 1.从仓库中搜索相关的镜像 docker search 镜像名 例如: docker search mysql 2. 拉取镜像到本地 docker pull 镜像名:版本号 如果没有跟版本号那么它会拉取最新的latest 3.查看本地有哪些镜像 docker images 4.删除本地指定的镜像 docker rmi 镜像名:版本号 或镜像编号 5.删除所有的镜像 docker rmi $(docker images -q) [慎用] 6.帮助命令 docker --help [找到所有的docker命令]docker 命令 --help [命令的语法] 2.3.Docker容器相关的命令 运行centos容器:并进入到容器内 docker run -it --namec1 centos:7 /bin/bash  -i:进入容器内部-t:交互平台 它几乎和-i一起使用。--name: 为容器起个名称--如果没有使用--name那么docker为自动分配一个名字centos:7镜像名:版本号/bin/bash提供一个shell命令窗口 退出容器 exit: ---会关闭容器 ctrlqp:--退出不会关闭容器 查看当前的容器 docker ps: 查看所有正在运行的容器 docker ps -a查看所有的容器。 docker ps -aq: 查看所有容器的id 创建一个容器不进入到该容器内部 docker run -id --name容器的名称 centos:7 /bin/bash 进入指定的容器内部:---使用exit不会关闭容器 docker exec 容器的id或者容器的名称 /bin/bash 关闭|启动|删除容器 docker stop 容器名|容器id docker start 容器名|容器id docker rm 容器名|容器id [只能删除停止的容器] docker rm -f 容器名|容器id [强制删除容器] docker rm -f $(docker ps -aq): 删除所有容器 查看容器的日志 docker logs 容器id 3. 容器的数据卷 3.1.数据卷的概念和作用 思考: dockers容器删除后容器中的产生的数据还在吗 思考: Docker容器和外部机器可以直接交换文件吗?  思考: 容器之间想要进行数据交互 为了保证容器数据的可靠性----需要把容器内部的某个目录--挂载到宿主机中的某个目录中。 宿主机中的这个目录就是数据卷  概念: 数据卷是宿主机中的一个目录或文件当容器目录和数据卷目录绑定后对方的修改会立即同步一个数据卷可以被多个容器同时挂载一个容器也可以被挂载多个数据卷 作用: 解决数据持久化问题解决外部机器和容器的间接通讯问题解决容器之间的数据交换 3.2.配置数据卷 创建启动容器时使用-v参数设置数据卷 docker run ... -v 宿主机目录(文件)容器内目录(文件) ... 注意事项 目录必须是绝对路径如果目录不存在会自动创建可以挂载多个数据卷 例子: docker run -id --namec2 -v /usr/app:/usr/ykq -v /usr/app2:/usr/ykq2 centos:7 /bin/bash 4.Docker应用部署 4.1.Docker部署mysql 搜索mysql镜像 docker search mysql  拉取mysql镜像 docker pull mysql:5.7  创建容器设置端口映射、目录映射 # 在/root目录下创建mysql目录用于存储mysql数据信息 mkdir ~/mysql cd ~/mysql mysql完整版容器 docker run -id \ -p 3307:3306 \ --namec_mysql \ -v $PWD/conf:/etc/mysql/conf.d \ -v $PWD/logs:/logs \ -v $PWD/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD123456 \ mysql:5.7 参数说明 -p 3307:3306将容器的 3306 端口映射到宿主机的 3307 端口。  -v $PWD/conf:/etc/mysql/conf.d将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。配置目录 -v $PWD/logs:/logs将主机当前目录下的 logs 目录挂载到容器的 /logs。日志目录 -v $PWD/data:/var/lib/mysql 将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。数据目录 -e MYSQL_ROOT_PASSWORD123456初始化 root 用户的密码。 4.2.Docker部署Redis (1)拉取redis镜像 docker pull redis:6.0.20 (2)运行redis镜像 docker run -id --nameredis6 -p 6380:6379 redis:6.0.20 -p: 端口映射 容器内部的端口和宿主机之间的映射。 3使用外部机器连接redis 如果把redis容器删除了---里面的数据还有吗?---如果我想修改redis的配置内容。 持久化 1.启动redis容器时指定配置文件 创建一个目录/app/redis并把redis.conf放入该目录创建一个目录/app/redis/data---存放redis持久化数据 mkdir -p /app/redis/data 运行redis容器 docker run -id --nameredis6 -v /app/redis/redis.conf:/usr/redis/redis.conf -v /app/redis/data:/usr/redis/data -p 6379:6379 redis:6.0.20 redis-server /usr/redis/redis.conf每个容器相当于一个虚拟机 4.3.Docker部署tomcat 搜索tomcat镜像 docker search tomcat  拉取tomcat镜像 docker pull tomcat 创建容器设置端口映射、目录映射 # 在/root目录下创建tomcat目录用于存储tomcat数据信息 mkdir ~/tomcat cd ~/tomcat运行tomcat容器 docker run -id --nametomcat -p 8080:8080 镜像名  进入tomcat 并修改 访问端口--成功 4.4.Docker部署nginx 搜索nginx镜像 docker search nginx 拉取nginx镜像 docker pull nginx 创建容器设置端口映射、目录映射 # 在/root目录下创建nginx目录用于存储nginx数据信息 mkdir ~/nginx cd ~/nginx mkdir conf cd conf # 在~/nginx/conf/下创建nginx.conf文件,粘贴下面内容 vim nginx.conf user nginx; worker_processes 1;error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid;events {worker_connections 1024; }http {include /etc/nginx/mime.types;default_type application/octet-stream;log_format main $remote_addr - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for;access_log /var/log/nginx/access.log main;sendfile on;#tcp_nopush on;keepalive_timeout 65;#gzip on;include /etc/nginx/conf.d/*.conf; } docker run -id --namec_nginx \ -p 80:80 \ -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \ -v $PWD/logs:/var/log/nginx \ -v $PWD/html:/usr/share/nginx/html \ nginx 参数说明 -p 80:80将容器的 80端口映射到宿主机的 80 端口。 -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf将主机当前目录下的 /conf/nginx.conf 挂载到容器的 :/etc/nginx/nginx.conf。配置目录 -v $PWD/logs:/var/log/nginx将主机当前目录下的 logs 目录挂载到容器的/var/log/nginx。日志目录 4.5.Docker部署RabbitMQ 搜素rabbitmq的镜像 docker search rabbitmq 拉取rabbitmq镜像 docker pull rabbitmq 运行rabbitmq docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5673:5672 rabbitmq  通过docker ps -a查看部署的mq容器id在通过 docker exec -it 容器id /bin/bash 进入容器内部在 运行rabbitmq-plugins enable rabbitmq_management 现在可以通过访问http://linuxip:15672访问web界面这里的用户名和密码默认都是guest 输入命令exit退出容器目录. 5.自定义镜像 上面讲解的内容需要的镜像 都是从远程仓库拉取我们能否把自己写的工程也变成一个镜像。可以的。 需要自定义镜像 5.1.Docker镜像的原理 思考: Docker镜像本质是什么?---它就是一个文件Dockerfile[ 写着一条一条得到命令] Docker中一个centos镜像为什么只有200MB而一个centos操作系统的iso文件要几个G? Docker中一个tomcat镜像为什么有500MB而一个tomcat安装包只有10多MB? linux文件系统由bootfs和rootfs两部分组成。 bootfs:包含bootloader (引导加载程序和kernel(内核) rootfs: root文件系统包含的就是典型Linux系统中的/dev,/proc/bin/etc等标准目录和文件 ·不同的linux发行版bootfs基本一样而rootfs不同如ubuntucentos等 Docker镜像是由特殊的文件系统叠加而成 最底端是bootfs并使用宿主机的bootfs 第二层是root文件系统rootfs,称为base image 基础镜像 然后再往上可以叠加其他的镜像文件 统一文件系统(Union File System)技术能够将不同的层整合成一个文件系统为这些层提供了一个统一的视角这样就隐藏了多层的存在在用户的角度看来只存在一个文件系统。 一个镜像可以放在另一个镜像的上面。位于下面的镜像称为父镜像最底部的镜像成为基础镜像。 当从一个镜像启动容器时Docker会在最顶层加载一个读写文件系统作为容器 总结: 5.2 镜像制作 自定义镜像提供了两种方式 第一种:基于容器来制作第二种: 通过dockerfile文件来制作 第一种 容器转为镜像:只能在已有的镜像的容器上进行制作新镜像-----了解  步骤: 把现有的镜像--运行成一个容器---修改容器中的内容---变成镜像---把镜像压缩文件---交给其他人---变成本地镜像 演示:   docker commit 容器id 镜像名:版本号 [把指定的容器变成镜像]docker save -o 压缩文件名 镜像名:版本号 [把指定的镜像压缩为一个压缩文件]docker load -i 压缩文件名 【把压缩文件变成本地镜像】 5.3 dockerfile的概念[重] Dockerfile是一个文本---任意一个镜像都是通过dockerfile来制作 文件包含了一条条的指令 每一条指令构建一层基于基础镜像最终构建出一个新的镜像 对于开发人员:可以为开发团队提供一个完全一致的开发环境 对于测试人员:可以直接拿开发时所构建的镜像或者通过Dockerfile文件构建一个新的镜像开始工作了 对于运维人员:在部署时可以实现应用的无缝跨平台移植 5.4 Dockerfile关键字 5.5 Dockerfile案例 案例1 创建编辑dockerfile文件     构件镜像 docker build -f centos_dockerfile -t aaa_centos:v1.0  -f:表示dockerfile文件-t: 镜像名称版本号 .: 必须加上   创建容器 docker run -it --namec1 aaa_centos:v1.0 /bin/bash   案例2  准备好springboot jar包并传至宿主机的根目录   创建springboot_dockerfile文件并编辑 FROM openjdk:8 MAINTAINER wqg ADD springboot-docker01-0.0.1-SNAPSHOT.jar docker01.jar EXPOSE 8080 CMD java -jar docker01.jar 根据springboot_dockerfile制作镜像 docker build -f ./springboot_dockerfile -t springboot:v1.0 .   启动并做端口映射 docker run -id --names2 -p 8080:8080 springboot:v1.0成功访问   镜像变成压缩文件 docker save -o springboot.tar springboot:v1.0案例3 需求: Centos7镜像具备vimifconfigjdk8   jdk_centos编辑  FROM centos:7 MAINTAINER wqg WORKDIR /usr/local #安装vim编辑器 RUN yum -y install vim #安装ifconfig命令查看网络IP RUN yum -y install net-tools #创建目录 RUN mkdir -p /usr/local/java #ADD 把宿主机中的压缩文件放入到/usr/local/java 并会自动解压 ADD jdk-8u161-linux-x64.tar.gz /usr/local/java/ #配置java环境变量 ENV JAVA_HOME /usr/local/java/jdk1.8.0_161 ENV PATH $JAVA_HOME/bin:$PATH CMD echo success--------------ok CMD /bin/bash 5.6.把本地镜像上传阿里远程镜像仓库 阿里云 作为开发: 我们需要把自己的项目----通过dockerfile 变成一个镜像----上传到远程仓库【hub.docker或者阿里云镜像仓库】作为运维: 从远程仓库下载镜像---通过镜像运行容器。部署项目。采用:阿里云镜像仓库     从Registry中拉取镜像  拉取后运行 docker run -id --nameccc -p 8089:8080 [镜像版本id] 6.Idea关联Docker  6.1.Docker开启远程访问 #修改该Docker服务文件 vi /lib/systemd/system/docker.service #修改ExecStart这行 ExecStart/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock   6.2.Idea安装docker插件 7.Docker服务编排 7.1.概述 docker建议我们每一个容器中只运行一个服务,因为docker容器本身占用资源极少,所以最好是将每个服务单独的分割开来但是这样我们又面临了一个问题如果我需要同时部署好多个服务,难道要每个服务单独写Dockerfile然后在构建镜像,构建容器,这样累都累死了,所以docker官方给我们提供了docker-compose多服务部署的工具.Compose允许用户通过一个单独的docker-compose.yml模板文件[你写]YAML 格式来定义一组相关联的应用容器为一个项目project。可以很容易地用一个配置文件定义一个多容器的应用然后使用一条指令安装这个应用的所有依赖完成构建。Docker-Compose 解决了容器与容器之间如何管理编排的问题。 7.2.Docker Compose 安装使用 一、安装Docker Compose # Compose目前已经完全支持Linux、Mac OS和Windows在我们安装Compose之前需要先安装Docker。下面我 们以编译好的二进制包方式安装在Linux系统中。 curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-compose # 设置文件可执行权限 chmod x /usr/local/bin/docker-compose # 查看版本信息 docker-compose -version 二、卸载Docker Compose 【根据需要选择】 # 二进制包方式安装的删除二进制文件即可 rm /usr/local/bin/docker-compose 三、 使用docker compose编排springbootredismysql项目 docker compose步骤 编写Dockerfile定义各个微服务应用并构建出对应的镜像文件使用 docker-compose.yml 定义一个完整业务单元安排好整体应用中的各个容器服务。最后执行docker-compose up命令 来启动并运行整个应用程序完成一键部署上线 1.创建docker-compose目录(本文这里没有创建依然放在/root/dockerfile目录) mkdir ~/docker-compose cd ~/docker-compose 2.打包springboot工程   3.编写dockerfile文件 # 基础镜像使用java FROM openjdk:8 # 作者 MAINTAINER qy165 # 将jar包添加到容器中并更名为zzyy_docker.jar ADD springboot-redis-cache-0.0.1-SNAPSHOT.jar qy165.jar EXPOSE 8080 CMD java -jar qy165.jar 4.构建镜像 docker build -f Dockerfile -t qy165:v1.0服务编排 编写 docker-compose.yml 文件 version: 3 services:microService:image: qy165:v1.0 #镜像名container_name: qy165 #容器名ports: #端口映射- 8080:8080volumes: #数据卷- /app/microService:/datanetworks: #网络networkaaa_net- aaa_netdepends_on: #依赖服务名- redis- mysqlredis:image: redis:6.0.20ports:- 6379:6379volumes:- /app/redis/redis.conf:/etc/redis/redis.conf- /app/redis/data:/datanetworks:- aaa_netcommand: redis-server /etc/redis/redis.confmysql:image: mysql:5.7environment:MYSQL_ROOT_PASSWORD: rootMYSQL_ALLOW_EMPTY_PASSWORD: noMYSQL_DATABASE: qy165ports:- 3306:3306volumes:- /app/mysql/db:/var/lib/mysql- /app/mysql/conf/my.cnf:/etc/my.cnf- /app/mysql/init:/docker-entrypoint-initdb.dnetworks:- aaa_netcommand: --default-authentication-pluginmysql_native_password #解决外部无法访问 networks: #等价于 docker network create aaa_netaaa_net: docker rm -f $(docker ps -aq)  在~/docker-compose 目录下 使用docker-compose 启动容器 docker-compose up   8.需要图形化界面 执行 docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restartalways -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer 访问 http://192.168.223.147:9000/
http://www.pierceye.com/news/705873/

相关文章:

  • 网站建设是什么科目查找5个搜索引擎作弊的网站
  • 佛山市锵美装饰有限公司网站建设案例微信商城小程序开发一般需要多少钱
  • 成都网站定制中心知名的中文域名网站有哪些
  • 福州长乐网站建设网站流量统计分析
  • 四川网站建设公司 登录六盘水市诚信网站建设公司
  • 优秀包装设计网站软件工程师工作
  • 舟山建设信息港网站泉州百度网络推广
  • 网站流量宝镜像别人网站做排名的好处
  • 如何学习网站建设app网络营销方案设计题
  • 高端品牌网站建设明细报价报腾讯云 win wordpress
  • 云南建设网站网站建设公司现在还挣钱吗
  • 濮阳微信网站建设没有数据库的网站
  • 网站开发与没计是做什么贵阳查房子备案的网站
  • 做网站学不需要做后台管理系统mean网站开发
  • 网页网站公司如何做备份游戏型网站开发
  • 网站排名必做阶段性seo策略软文写作是什么意思
  • 网站域名商渭南哪家公司可以做网站
  • 医院网站asp源码加强机关网站建设
  • wordpress建手机站网站建设规划大纲
  • 同个主体新增网站备案施工企业副总经理竞聘
  • 视频网站后台设计针式个人知识库管理系统
  • 外围网站开发网页制作对联
  • 深圳福永网站建设网站多个用户怎样建设
  • 百度网站排名怎么提高wordpress页面全屏的插件
  • 企业网站优化方式wordpress 外链播放器
  • 设计衣服的网站久久诗歌网
  • 上海网站营销it运维网
  • 一起做网店广州站怎么推广软件让别人下载
  • 王晴儿网站建设方案wordpress媒体库 ftp
  • 乡村建设网站自己的网站做防伪码