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

网站做app企业推广方式

网站做app,企业推广方式,北京模板建站设计,苏州百度推广分公司电话Docker快速上手 安装 在ubuntu上安装docker: sudo apt-get install docker docker -v #查看版本在centos7上安装docker#xff1a;(docker在YUM源的Extras仓库中) yum install docker systemctl start dockerdocker常用命令速查 #查看docker信息 docker info #查看本地镜…Docker快速上手 安装 在ubuntu上安装docker: sudo apt-get install docker docker -v #查看版本在centos7上安装docker(docker在YUM源的Extras仓库中) yum install docker systemctl start dockerdocker常用命令速查 #查看docker信息 docker info #查看本地镜像列表 docker images docker rmi IMAGE #删除指定的本地镜像#只创建不启动容器 docker create --name mycntainer docker/getting-started #启动处于停止状态的容器 docker start CONTAINER_ID #创建并启动容器 -d表示在后台运行终端不会停留在容器的输出界面。(冒号前是主机端口) docker run -d -p 80:80 docker/getting-started docker run -itd centos:7 bash #用多个-p可以映射多个端口: docker run -d -p 80:80 -p 88:8088 docker/getting-started #指定entrypoint: docker run -it --entrypointbash centos:7 #指定环境变量 docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD123456 --namemysql mysql:5.7 #连接到运行中的容器的终端(attach连接后,退出终端时容器也会退出exec方式则不会) docker attach CONTAINER_ID docker exec -it CONTAINER_ID bashdocker ps #查看当前运行的容器 docker ps -a #查看当前所有容器包括运行的和没有运行的 docker stop CONTAINER ID # 停止指定的容器 docker rm CONTAINER ID # 删除容器 加-f可删除运行中的容器 docker logs CONTAINER ID # 查看容器的控制台日志 docker inspect CONTAINER OR IMAGE #查看容器或镜像信息 docker cp xx CONTAINER ID:/xxx/xx #复制文件或目录到容器中(容器可以不运行) docker cp CONTAINER ID:/xxx/xxx ./ #从容器复制文件或目录 (容器可以不运行) docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] #提交容器内的修改形成新的镜像 # 查看或修改已停止容器中的文件,方法一创建新的镜像使用新镜像运行容器再修改 docker commit CONTAINER_ID test_image docker run -ti --entrypointbash test_image # 查看或修改已停止容器中的文件,方法二直接修改 直接修改/var/lib/docker/overlay2目录下的文件# 将镜像导出为文件例如 docker save busybox busybox.tar docker save myimage:latest | gzip myimage_latest.tar.gz docker save -o fedora-latest.tar fedora:latest # 从文件导入镜像 docker load busybox.tar.gz docker load --input fedora.tar# docker compose #批量启动-d选项表示后台运行日志不在控制台输出 docker compose -f XXXX.yml up -d #批量停止 docker compose -f XXXX.yml stop #批量删除 docker compose -f XXXX.yml rm运行第一个容器 docker run -d -p 80:80 docker/getting-started # -d表示该容器在后台运行 # -p表示将主机的指定端口映射到容器内(冒号前是主机端口)这样用主机IP和端口就能访问容器内的服务。该命令会首先在本地找docker/getting-started镜像本地没有则自动从dockerhub上下载到本地。 运行完成后用docker ps可以看到用docker/getting-started镜像启动的容器该容器开放80端口可在浏览器访问 从dockerhub查找镜像 可以访问https://hub.docker.com/来查找镜像 也可以通过命令行查找和下载镜像 docker search centos #查找docker上的centos镜像 docker pull centos #最新的centos镜像目前是centos8 docker pull centos:7 #下载tag(版本)为7的centos镜像怎么查看某个镜像有哪些tag目前没找到命令行方式只能通过访问dockerhub去看。 制作第一个镜像 docker镜像是分层的我们可以基于一个基础镜像加上我们需要的东西形成自己的新镜像。 比如现在我们有一个nodejs写的demo程序想分享给其他人如果直接只是分享源码或可执行文件其他人还得搭建依赖环境才能运行起来我们可以把环境和程序都打包成docker镜像这样只要用这个镜像来启动容器就能够运行这个demo了。下面是镜像制作过程 git clone https://github.com/docker/getting-started.git #获取源码到主机上源码在getting-started/app目录 # 源码结构 dengrjdengrjdev:~/docker$ ll getting-started/app/ total 192 drwxrwxr-x 4 dengrj dengrj 4096 5月 22 11:38 ./ drwxrwxr-x 6 dengrj dengrj 4096 5月 22 11:38 ../ -rw-rw-r-- 1 dengrj dengrj 646 5月 22 11:38 package.json drwxrwxr-x 4 dengrj dengrj 4096 5月 22 11:38 spec/ drwxrwxr-x 5 dengrj dengrj 4096 5月 22 11:38 src/ -rw-rw-r-- 1 dengrj dengrj 174891 5月 22 11:38 yarn.lock在app目录下创建Dockerfile文件内容如下 # syntaxdocker/dockerfile:1 FROM node:12-alpine RUN apk add --no-cache python2 g make WORKDIR /app COPY . . RUN yarn install --production CMD [node, src/index.js] EXPOSE 3000创建好Dockerfile后在app目录下执行命令来构建镜像 docker build -t getting-started .使用该镜像来启动容器 docker run -dp 3000:3000 getting-started如果代码修改了我们需要重新构建镜像再用新镜像来启动容器 数据持久化 数据如果存放在容器中如果该容器删除了数据就删除了为了使数据和容器分离通常会给容器挂载存储卷(Volume)docker支持两种存储卷 named volume需先创建卷再挂载支持驱动插件来挂网络存储(SFTP、Ceph、NFS等)只能指定容器端挂载点bind mounts可指定主机端和容器端挂载点无需创建卷不支持驱动插件 named volume 创建卷 docker volume create todo-db #todo-db是卷的名称将卷挂载至容器 # /etc/todos是容器内的挂载点容器内程序向/etc/todos写文件就会存在主机的todo-db卷中 docker run -dp 3000:3000 -v todo-db:/etc/todos getting-started bind mounts 无需创建卷直接通过挂载将主机目录和容器内的目录建立映射关系 # /etc/todos是容器内的挂载点/data/app是主机中的挂载点 docker run -dp 3000:3000 -v /data/app:/etc/todos getting-started 容器网络连接 默认情况下主机上的容器是相互隔离的他们互相不知道对方的存在那么如果两个容器之间需要能够进行网络通信怎么实现 在docker中我们可以创建一个网络那么在该网络内的所有容器都可以互相通信。 #创建一个名称为todo-net的网络 docker network create todo-net #创建容器时指定网络,--network-alias mysql为该容器起了一个网络别名 # todo-net网络中的其他容器可以通过mysql来访问mysql的容器,类似于DNS的主机名 docker run -d \--network todo-net --network-alias mysql \-v todo-mysql-data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORDsecret \-e MYSQL_DATABASEtodos \mysql:5.7Dockerfile指令 docker在构建镜像时按步骤执行Dockerfile中的指令每条指令执行完都会形成一层文件系统提交到新的镜像中就像git中的commit一样。 FROM Dockerfile必须以FROM指令开头表示使用哪个父镜像来作为构建的基础。FROM支持三种格式 FROM [--platformplatform] image [AS name] FROM [--platformplatform] image[:tag] [AS name] FROM [--platformplatform] image[digest] [AS name]ENV ENV指令用于定义容器运行时的环境变量不过ENV定义的环境变量也是可以在Dockerfile中通过$variable_name 或 ${variable_name}符来引用${}用于变量和其他参数之间没有空格的情况例如${foo}_bar. ${variable:-word}表示variable已定义则使用定义的值未定义则使用word; ${variable:word}表示variable已定义则使用word未定义则使用空字符串; FROM busybox ENV FOO/bar WORKDIR ${FOO} # WORKDIR /bar ADD . $FOO # ADD . /bar COPY \$FOO /quux # COPY $FOO /quux注意在一条指令中环境变量的代入使用的值只有一个下面的例子中def的值会是hello而不是byeghi的值则会是bye。 ENV abchello ENV abcbye def$abc ENV ghi$abc一行可以设置多个变量 ENV MY_NAMEJohn Doe MY_DOGRex\ The\ Dog \MY_CATfluffy对于只在镜像构建阶段用到的环境变量不建议使用ENV指令而可以直接写在指令的参数中或使用ARG指令例如 RUN DEBIAN_FRONTENDnoninteractive apt-get update apt-get install -y ... # 或 ARG DEBIAN_FRONTENDnoninteractive RUN apt-get update apt-get install -y ...ADD 将构建上下文的文件、目录或从URL获取文件添加到镜像的dest路径中。语法格式 # --chown只对linux平台有效,路径中有空格时用双引号 ADD [--chownuser:group] src... dest ADD [--chownuser:group] [src,... dest]如果src为相对路径相对的是构建上下文如果dest是相对路径相对的是容器内的WORKDIR 添加的所有的文件和目录UID和GID都会设为0除非使用--chown做了指定。 COPY 将构建上下文的文件、目录添加到镜像的dest路径中。语法格式 # --chown只对linux平台有效,路径中有空格时用双引号 COPY [--chownuser:group] src... dest COPY [--chownuser:group] [src,... dest]RUN RUN用于在构建镜像时执行命令支持两种格式 RUN command # 命令将在shell中执行 RUN [executable, param1, param2] # 通过exec调用,这里参数是以JSON array来解析的所以里面带双引号CMD CMD用于指定容器启动时默认执行的程序(用户在docker run参数中指定的程序可覆盖CMD指定的程序)一个Dockerfile中只能有一个CMD指令生效若有多个则最后一个生效。 CMD指令支持三种格式: CMD [executable,param1,param2] #官方推荐,通过exec调用,这里参数是以JSON array来解析的所以里面带双引号 CMD [param1,param2] #作为ENTRYPOINT指令的默认参数 CMD command param1 param2 # 通过shell调用CMD指令和ENTRYPOINT的区别 ENTRYPOINT指令也可指定容器启动时要执行的命令并且的ENTRYPOINT优先级最高。CMD和ENTRYPOINT同时出现时,CMD中的参数会被附加到ENTRYPOINT 指令的后面作为参数。 如果这时docker run命令带了参数,这个参数会覆盖掉CMD指令的参数,并也会附加到ENTRYPOINT 指令的后面。 EXPOSE 告诉Docker这个容器要监听的端口,还可指定使用的协议是tcp还是udp或者tcp和udp都使用不指定则默认为tcp。 注意EXPOSE并不实际暴露接口它的作用更像是用户手册只是告诉用户要暴露什么端口实际暴露的端口是由docker run的-p或-P参数指定的可以和EXPOSE指定的不一样。 EXPOSE port [port/protocol...] #监听tcp 80端口 EXPOSE 80/tcp #监听udp 81端口 EXPOSE 81/udp # 监听tcp和udp的82端口则写两条EXPOSE指令 EXPOSE 82/tcp EXPOSE 82/udp ENTRYPOINT 用于指定容器启动时的入口程序格式如下 ENTRYPOINT [executable, param1, param2] # 通过exec执行以JSON array解析所有带双引号 ENTRYPOINT command param1 param2 # 通过shell来执行ENTRYPOINT指令也可指定容器启动时要执行的命令并且的ENTRYPOINT优先级最高。CMD和ENTRYPOINT同时出现时,CMD中的参数会被附加到ENTRYPOINT 指令的后面作为参数。 如果这时docker run命令带了参数,这个参数会覆盖掉CMD指令的参数,并也会附加到ENTRYPOINT 指令的后面。 VOLUME VOLUME指令用于指定一个挂载点容器启动时该挂载点中的文件会被自动复制到挂载的卷中。 VOLUME [/data] VOLUME /var/log /var/dbUSER 用于指定RUN、CMD和ENTRYPOINT指令执行时所用的用户身份。 USER user[:group] USER UID[:GID]WORKDIR 用于设置RUN, CMD, ENTRYPOINT, COPY 和 ADD指令的工作目录(镜像内的)若工作目录不存在则会自动创建。 WORKDIR /path/to/workdirWORKDIR在一个dockerfile中可以多次出现如果使用相对路径则表示相对前一个工作目录。 WORKDIR /a WORKDIR b WORKDIR c RUN pwd # 输出/a/b/cWORKDIR可以引用ENV定义的环境变量如果引用未定义的变量则原样输出例如 ENV DIRPATH/path WORKDIR $DIRPATH/$DIRNAME RUN pwd # 输出/path/$DIRNAME如果没有设置WORKDIR则使用父镜像设置的工作目录如果父镜像也没有设置则使用/作为工作目录。为避免工作目录不清晰建议在dockerfile中显式指定WORKDIR。 ARG 用于定义构建时使用的参数变量 ARG name[default value]构建镜像时可传参指定变量值 docker build --build-arg varnamevalueARG指令的作用域自定义所在行开始到该stage结束若要在多个stage中使用变量那要在各个stage都定义 FROM busybox ARG SETTINGS RUN ./run/setup $SETTINGSFROM busybox ARG SETTINGS RUN ./run/other $SETTINGS预定义的变量 Docker包含以下预定义的变量这些变量无需在dockerfile使用ARG指令定义就可以使用 HTTP_PROXYhttp_proxyHTTPS_PROXYhttps_proxyFTP_PROXYftp_proxyNO_PROXYno_proxy ONBUILD 用于指定一个指令在本镜像作为父镜像时触发也就是在下游镜像Dockerfile的FROM指令执行时触发 ONBUILD INSTRUCTIONSTOPSIGNAL 停止容器时给容器发什么信号默认是SIGTERM STOPSIGNAL signal #例如 STOPSIGNAL SIGKILL STOPSIGNAL 9HEALTHCHECK 指定用于检测容器健康状态的命令 HEALTHCHECK [OPTIONS] CMD command HEALTHCHECK NONE # 不开启健康检测 #例如: HEALTHCHECK --interval5m --timeout3s \CMD curl -f http://localhost/ || exit 1SHELL SHELL [executable, parameters]用于指定执行shell命令的默认shell如果不指定在Linux下默认值为[/bin/sh, -c] 镜像分享 在线分享 注册DockerHub账号登录DockerHub创建仓库(Repository): 我本地有一个drjdemo的镜像 如何push到dockerhub上的dengruijin/demo仓库: # 先将镜像名称修改为和dockerhub一致 docker tag drjdemo dengruijin/demo # push前要先登录(dengruijin是dockerhub登录名) docker login -u dengruijin # 下面就可以push了 docker push dengruijin/demo离线分享 将镜像导出为文件 可以使用docker save将镜像保存为一个tar包 docker save [OPTIONS] IMAGE [IMAGE...]例如 docker save busybox busybox.tar docker save myimage:latest | gzip myimage_latest.tar.gz docker save -o fedora-latest.tar fedora:latest导入镜像 docker load [OPTIONS]例如 docker load busybox.tar.gz docker load --input fedora.tar
http://www.hkea.cn/news/14445358/

相关文章:

  • 灌南建设局网站北京平台网站建设找哪家
  • 总公司网站备案后 分公司网站还需要备案吗网站制作公司业务发展方案
  • 网站建设.c网站设计标准
  • 自己制作免费网站网站备案工信部
  • 凡科建站官网登录房屋建设设计网站
  • 智联招聘网站怎么做微招聘信息吗蜘蛛网是个什么网站
  • 做网站怎么更新静态页公司网站实名制
  • 办公门户网站模板网站后台关键词怎么设置
  • 装修平台网站有哪些云职上海企业服务有限公司
  • c2c网站网址商城网站怎么优化
  • 门户网站开发步骤博客html语言的特点
  • 做网站公司多少钱网站建设组织
  • 重庆的企业网站企业网站自助建设
  • 本科专业建设网站深情密码免费观看网站
  • 国外网站建设嫣语赋wordpress的视频封面能动
  • 新手做网站起步教程提供网站制作公司哪家好
  • 雅茂道网站建设做企业的网站的如何推广
  • 番禺定制型网站建设手机建立网站app
  • 通信公司网站建设惠州城市建设建筑网站
  • 江阳建设集团网站wordpress 怎么上传头像
  • 腾讯云 门户网站建设百度装修网站
  • 郑州制作网站价格网站更换服务器影响
  • 做外贸网站软工毕设做网站
  • 阜宁网站制作具体报价网站 栏目
  • pathon做网站wordpress图片不能居中
  • 网站设计一个页多少钱apache php mysql wordpress
  • 做色流网站在哪买网络科技公司logo设计
  • 网站开发维护任职要求美间在线设计平台
  • 网站的pdf预览是怎么做的17做网站广州新塘
  • 怎样在建设部网站查资质证书手机如何建设网站首页