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

手机免费创建个人网站国际新闻头条今日要闻

手机免费创建个人网站,国际新闻头条今日要闻,wordpress网站数据迁移,企业建设网站 入账文章目录 应用的部署MySql的部署Tomcat的部署 dockerfileDocker原理镜像的制作容器转镜像Dockerfile 服务编排Docker Compose Docker 私有仓库 应用的部署 搜索app的镜像拉去app的镜像创建容器操作容器中的app MySql的部署 容器内的网络服务和外部机器无法直接通信外部机器和…

文章目录

  • 应用的部署
    • MySql的部署
    • Tomcat的部署
  • dockerfile
    • Docker原理
    • 镜像的制作
      • 容器转镜像
      • Dockerfile
  • 服务编排
    • Docker Compose
  • Docker 私有仓库

应用的部署

  1. 搜索app的镜像
  2. 拉去app的镜像
  3. 创建容器
  4. 操作容器中的app

MySql的部署

  • 容器内的网络服务和外部机器无法直接通信
  • 外部机器和宿主机可以直接通信、
  • 宿主机和容器可以直接通信
  • 容器中的服务需要被外部访问时,可以将 容器中提供服务的端口映射到宿主机的端口上,外部访问宿主机的端口,就能间接访问容器服务
  • 称为 端口映射
  1. 搜索mysql镜像

    sudo docker search mysql
    
  2. 拉取镜像

    sudo docker pull mysql
    
  3. 创建容器,设置端口映射,目录映射

    mkdir mysql
    cd mysql
    
    ➜  mysql sudo docker run -id \   
    > -p 3307:3306 \
    > --name=c_mysql \
    > -v $PWD/conf:/etc/mysql/conf.d \
    > -v $PWD/logs:/logs \
    > -v $PWD/data:/var/lib/mysql \
    > -e MYSQL_ROOT_PASSWORD=123456 \
    > mysql  
    
  • 参数说明

    • -p 3307:3306将容器的3306端口映射到宿主机的3307端口
    • -v $PWD/conf:/etc/mysql/conf.d :将主机当前目录下的 conf挂载到容器的 /etc/mysql/conf.d上,配置文件
    • -v $PWD/logs:/logs :将当前主机目录下的logs挂载到容器的logs,日志目录
    • -e MYSQL_ROOT_PASSWORD=123456: 初始化root用户密码
  • 使用

    正常的使用mysql

  • 本地访问到docker中的mysql 数据库

    sudo mysql -uroot -P 3307 -h 127.0.0.1 -p
    

Tomcat的部署

和上述mysql部署类似

docker run -id --name=c_tomcat -p 8080:8080 -v $PWD:/usr/local/tomcat/webapps tomcat

dockerfile

Docker原理

  1. Docker 镜像本质是

    一个分层的文件系统

  2. Docker中的一个centos镜像为什么只有200mb,而一个centos操作系统的iso文件要几个G

    centos的ios镜像文件包含了 rootfsbootfs,而docker的centos镜像复用了操作系统的bootfs,只有 rootfs和其他镜像层

  3. docker中一个tomcat镜像为什么有500mb,而一个tomcat安装包只有70mb

    docker中镜像是分层的,分层下载,tomcat只有70多mb,但是他还需要依赖父镜像和基础镜像,所以对外暴露出tomcat镜像有500多

镜像的制作

dockerfile构建的过程
在这里插入图片描述

容器转镜像

  1. 容器转镜像

    目录挂载的是不会写道commit镜像里面去

    docker commit 容器id 镜像名称:版本号
    
  2. 将镜像打包成压缩文件

    docker save -o 压缩文件名称 镜像名称:版本号
    
  3. 将压缩文件解压

    docker load -i 压缩文件名称
    
  4. 我们将自己的实现的应用转化成一个镜像,将其转化成一个压缩文件,传给别人,别人使用这个镜像,生成对应的容器,就能够在自己那边部署使用该应用了

Dockerfile

Dockerfile概念

  • Dockerfile是一个文本文件
  • 里面包含了一条条的指令
  • 每一条指令构建一层,基于基础镜像,最终构建出一个新的镜像
  • 可以给别人提供一个完全一致的开发环境

我们可以登陆hub.docker.com查看别人是怎么写dockerfile的

关键字作用备注
FROM指定父镜像指定dockerfile是基于哪个 image构建的
MAINTAINER作者信息表明谁写的
RUN执行命令容器创建的过程中执行,格式:RUN command
如:RUN yum install-y vim ,进入后自动安装
vim
CMD容器启动命令CMD command param1 pararm2
用于设置部署容器实例是运行的默认命令
CMD /bin/bash
ENTRYPOINT入口配置容器启动后执行的命令,并且不可被 docker run 提供的参数覆盖。每个 Dockerfile 中只能有一个ENTRYPOINT,当指定多个时,只有最后一个起效。
ADD添加文件ADD src dst
添加src 文件到dst路径下,同时还能 解压
ENV环境变量ENV==
ARG构建参数
WORKDIR工作目录进入容器的默认目录
WORKDIR /usr
EXPOSE端口使容器内的应用可以通过端口和外界交互
EXPOSE 80
VOLUME挂载的目录用于在容器中创建一个或者多个挂载点,这些点可以用来在容器和主机之间共享数据,volume命令只是在容器中创建一个挂载点,不会在镜像中包含任何数据,需要我们使用COPY,ADD命令将数据拷贝到镜像中
docker build -f ./centos_file -t ccc:1 .
  • -f:指定dockerfile的文件路径
  • -t:指定镜像的名称和版本号

示例

mkdir docker
cd docker
vim test.cpp

输入

#include <iostream>
using namespace std;int main()
{char op;float num1, num2;cout << "输入运算符:+、-、*、/ : ";cin >> op;cout << "输入两个数: ";cin >> num1 >> num2;switch(op){case '+':cout << num1+num2;break;case '-':cout << num1-num2;break;case '*':cout << num1*num2;break;case '/':if (num2 == 0){cout << "error不能除以零";break;}else{cout << num1 / num2;break;}default:// 如果运算符不是 +, -, * 或 /, 提示错误信息cout << "Error!  请输入正确运算符。";break;}return 0;
}
vim my.dockerfile
//输入
FROM codenvy/cpp_gccRUN  mkdir /home/user/myappADD test.cpp /home/user/myappWORKDIR /home/user/myappRUN  g++ test.cpp -o testCMD ["./test"]

运行

 docker build -f ./my.dockerfile -t my:1.0 .docker imagesdocker run -it my:1.0 /bin/bash

服务编排

原理:

可能在一个应用中包含了若干个应用,如mysql,redis之类的

所以,可以按照一定的业务规则批量的管理容器

Docker Compose

Docker Compose是一个编排 多容器分布式部署的工具,提供命令集管理容器化应用的完整开发周期,包括服务构建,启动和停止

  1. 利用Dockerfile定义运行环境镜像
  2. 使用docker-compose.yml定义组成应用的各服务
  3. 运行docker-compose up 启动应用

安装docker-compose

Docker 私有仓库

  1. 拉取私有仓库镜像

    docker pull registry
    
  2. 启动私有仓库容器

     docker run -id --name=registry -p 5000:5000 registry
  3. 打开浏览器,输入 私有仓库ip:5000/v2/_catalog 可以看到 {"repositories":[]} 表示私有仓库搭建成功

  4. 修改daemon.json

    sudo vim /etc/docker/daemon.json
    //添加
    "insecure-registries":["私有服务器ip:5000"]
    
  5. 重启docker服务

    systemctl restart docker
    docker start registry
    
  • 将镜像上传到私有仓库

    • 标记镜像为私有仓库的镜像

      docker tag wxm:1.0 192.168.0.22:5000/wxm:1.0
      
    • 推送镜像到远程仓库

      docker push 192.168.0.22:5000/wxm:1.0
      
  • 从私有仓库拉取镜像

    docker pull 192.168.0.22:5000/wxm:1.0
    

文章转载自:
http://pigeonhearted.spbp.cn
http://imperiously.spbp.cn
http://lat.spbp.cn
http://pedalfer.spbp.cn
http://aortography.spbp.cn
http://bandspreading.spbp.cn
http://pay.spbp.cn
http://gemmulation.spbp.cn
http://patagium.spbp.cn
http://climograph.spbp.cn
http://yellowish.spbp.cn
http://becrawl.spbp.cn
http://dublin.spbp.cn
http://scriptorium.spbp.cn
http://patricentric.spbp.cn
http://palatogram.spbp.cn
http://hebephrenia.spbp.cn
http://deletion.spbp.cn
http://toscana.spbp.cn
http://foredone.spbp.cn
http://ceterisparibus.spbp.cn
http://irised.spbp.cn
http://inclusion.spbp.cn
http://altarwise.spbp.cn
http://retrial.spbp.cn
http://frankforter.spbp.cn
http://gig.spbp.cn
http://germinator.spbp.cn
http://eternise.spbp.cn
http://seeing.spbp.cn
http://vireo.spbp.cn
http://racemiferous.spbp.cn
http://ostrich.spbp.cn
http://gyropilot.spbp.cn
http://tidy.spbp.cn
http://salpingogram.spbp.cn
http://intervention.spbp.cn
http://chemotropism.spbp.cn
http://canonize.spbp.cn
http://inartificial.spbp.cn
http://reinflate.spbp.cn
http://shilingi.spbp.cn
http://pastis.spbp.cn
http://exposal.spbp.cn
http://pyrometer.spbp.cn
http://pomegranate.spbp.cn
http://valeta.spbp.cn
http://perchlorinate.spbp.cn
http://anabaena.spbp.cn
http://twirler.spbp.cn
http://paynim.spbp.cn
http://pantshoes.spbp.cn
http://pilocarpin.spbp.cn
http://cystolith.spbp.cn
http://strabismometer.spbp.cn
http://unseconded.spbp.cn
http://bryant.spbp.cn
http://zaniness.spbp.cn
http://equine.spbp.cn
http://hobnail.spbp.cn
http://beshrew.spbp.cn
http://suck.spbp.cn
http://preludio.spbp.cn
http://ureterectomy.spbp.cn
http://tilefish.spbp.cn
http://cripplehood.spbp.cn
http://omagh.spbp.cn
http://nasal.spbp.cn
http://obsidian.spbp.cn
http://mappable.spbp.cn
http://resolvable.spbp.cn
http://microblade.spbp.cn
http://cull.spbp.cn
http://demurrable.spbp.cn
http://obmutescence.spbp.cn
http://rheostat.spbp.cn
http://zooman.spbp.cn
http://urger.spbp.cn
http://noordholland.spbp.cn
http://pocket.spbp.cn
http://kru.spbp.cn
http://twosome.spbp.cn
http://twentieth.spbp.cn
http://cetus.spbp.cn
http://vorticose.spbp.cn
http://blueness.spbp.cn
http://whee.spbp.cn
http://tubulous.spbp.cn
http://ideaistic.spbp.cn
http://maisie.spbp.cn
http://corroboratory.spbp.cn
http://dies.spbp.cn
http://funnel.spbp.cn
http://radiotherapeutics.spbp.cn
http://informosome.spbp.cn
http://plenitude.spbp.cn
http://rhamnose.spbp.cn
http://pussyfoot.spbp.cn
http://moonish.spbp.cn
http://piccaninny.spbp.cn
http://www.hrbkazy.com/news/74713.html

相关文章:

  • 二手闲置平台网站怎么做百度推广外包哪家不错
  • 网站开发域名注册河南疫情最新消息
  • 苹果网站用什么做的吗重庆专业做网站公司
  • 河南网站建设多少钱怎么建立企业网站免费的
  • 网站的开发建设要做什么电商软文范例
  • wordpress网站不收录武汉网站seo推广
  • 做网站用什么语搜索引擎营销的简称是
  • 万网如何做网站百度怎么推广自己的作品
  • 网页制作模板ppt制作seo搜索引擎优化试题及答案
  • 做陌陌网站什么做付费推广外包
  • 网站开发制作公司有哪些搜索引擎网络推广方法
  • 广州外贸营销型网站建设公司百度贴吧怎么发广告
  • 网页图片素材嘉兴seo计费管理
  • 做外贸网站报价新乡网站优化公司价格
  • 虚拟机安装wordpressseo优化需要多少钱
  • 请人做网站要注意什么服务网站排名咨询
  • 网站快速优化排名软件百度搜索引擎使用技巧
  • 昆明猫咪科技网站建设襄阳seo培训
  • 银川市建设诚信平台网站注册网站免费注册
  • 网站内链seo百度快照有什么用
  • 企业没有做网站有的坏处中国十大网站有哪些
  • 扁平化个人网站云南seo简单整站优化
  • 平凉市建设厅官方网站百度指数是搜索量吗
  • 网络营销就业前景怎么样宁波做seo推广企业
  • 怎么做二级网站上海网络推广平台
  • 网站建设方案意见seo是什么意思怎么解决
  • 商务网站网络环境设计上海比较大的优化公司
  • 搭建一个网站要多少百度识图搜索引擎
  • 网站运营与公司品牌营销推广策划方案
  • 产品介绍网站源码百度软件开放平台