docker

安装官网

  1. 删除docker

     sudo  yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine
  2. 安装

    sudo yum install -y yum-utils
    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  3. 查看是否安装成功

    sudo systemctl start docker
    sudo docker run hello-world
  4. 设置开机自启

    sudo systemctl enable docker

二、创建镜像

  1. 源代码创建

    1. 创建WebApi项目

    2. 选择将 解决方案 和 **项目 ** 放到同一个目录下,点击下一步

    3. 选择启用Docker,点击创建

    4. 将源文件直接复制到服务器,然后进入 进入到解决方案目录下开始创建镜像

    5. 创建镜像

      例子:docker -t 名称:版本号 .
      docker -t dockerapi:1.0.0 .
    6. 启动容器

      例子:docker run --name 名称 -itd --restart unless-stopped -p 外部访问端口:项目启动端口 启动镜像
      docker run --name docker1.0.0 -it --restart unless-stopped -p 8888:8080 dockerapi:1.0.0
    7. 浏览器访问

      服务器ip:8888/swagger/weatherforecast
  2. 发布之后创建

    1. 创建好webapi项目

    2. 修改配置文件,配置端口(appsettings.json

      {
      "Logging": {
      "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
      }
      },
      "AllowedHosts": "*",
      "Kestrel": {
      "Endpoints": {
      "Http": {"Url": "http://*:8060"}
      }
      }
      }
    3. 点击发布

    4. 进入发布后的文件夹

    5. 创建dockerfile配置文件,将下边内容复制到文件中,并修改配置(Dockerfile)

      #See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.
      
      FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
      USER app
      WORKDIR /app
      #端口
      EXPOSE 8060 FROM base AS final
      WORKDIR /app
      COPY . /app
      #启动命令(括号中为启动的项目名称)
      ENTRYPOINT ["./LinuxApi"]
    6. 将发布后的文件上传到服务器

    7. 创建镜像

      例子:docker -t 名称:版本号 .
      docker -t linuxapi:1.0.0 .
    8. 创建容器

      例子:docker run --name 名称 -itd --restart unless-stopped -p 外部访问端口:项目启动端口 启动镜像
      docker run --name linuxapi1.0.0 -it --restart unless-stopped -p 7777:8060 linuxapi:1.0.0
    9. 浏览器访问

      服务器ip:7777/swagger/weatherforecas

三、其他命令

  1. 镜像

    1. 创建

      例子:docker -t 名称:版本号 .
      docker -t linuxapi:1.0.0 .
    2. 删除

      例子:docker rmi 名称:版本号
      docker rmi linuxapi:1.0.0
  2. 容器

    1. 创建

      例子:docker run --name 名称 -itd --restart 重启规则 -p 外部访问端口:项目启动端口 启动镜像
      docker run --name linuxapi1.0.0 -it --restart unless-stopped -p 7777:8060 linuxapi:1.0.0
    2. 删除

      例子:docker remove 容器id或者容器名称
      docker remove linuxapi1.0.0

webapi通过docker部署到Linux的两种方式的更多相关文章

  1. WebApi服务Uri加密及验证的两种方式

    最近的一个项目要求服务端与UI层分离,业务层以WebApi方式向外提供所有业务服务,服务在数据保密性方面提出了要求,主要包括: 1:客户端认证: 2:服务请求超时(默认5分钟): 3:服务Get请求的 ...

  2. Linux部署springboot项目,两种方式

    部署jar包(官方推荐) 在linux服务器上运行Jar文件时通常的方法是: $ java -jar test.jar 这种方式特点是ssh窗口关闭时,程序中止运行.或者是运行时没法切出去执行其他任务 ...

  3. 使用使用dockerfile构建webapi镜像然后使用link和bridge两种方式进行桥接

    首先新增一个webapi的项目 项目核心代码 UserContext using Microsoft.EntityFrameworkCore; using System; using System.C ...

  4. Tomcat部署Web应用的两种方式

    WEB工程目录结构 部署方式一:此种方式部署,jsp页面修改后,不能动态更新,需要重新部署才能看到效果.不过可以配置动态更新实现. 部署方式二:此种方式部署,jsp修改后,直接在页面可以看到效果.(因 ...

  5. eclipse下部署web工程的两种方式

    习惯了Eclipse 的开发,就觉得不想那么懒去用MyEclipse傻瓜式的部署工程. 第一种,手动部署工程. 情况一:如果工程目录在tomcat目录的webapp目录下,这种情况就不需要有工程部署的 ...

  6. docker之网络桥接的两种方式

    第一种:直接敲命令方式配置安装网桥管理工具包:bridge-utile # yum install bridge-utils -y 1.先查看ip 是否有br0ip a2.brctl show 3使用 ...

  7. k8s 创建资源的两种方式 - 每天5分钟玩转 Docker 容器技术(124)

    命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1. 用 kubectl 命令直接创建,比如: kubectl run nginx-deployment --image=nginx ...

  8. 制作Docker镜像的两种方式

    此文已由作者朱笑天授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 一.使用docker commit命令制作docker镜像 1. pull一个centos6.6的基础镜像, ...

  9. linux内核分析作业4:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用

    系统调用:库函数封装了系统调用,通过库函数和系统调用打交道 用户态:低级别执行状态,代码的掌控范围会受到限制. 内核态:高执行级别,代码可移植性特权指令,访问任意物理地址 为什么划分级别:如果全部特权 ...

  10. 云服务器 ECS Linux 服务器修改时区的两种方式

    在云服务器 ECS Linux 系统中,以 Centos6.5 为例,可以通过如下两种方式,修改系统时区: 可以使用命令 tzselect,修改时区.操作示例: [root@localhost ~]# ...

随机推荐

  1. 9.文件和异常--《Python编程:从入门到实践》

    9.1 从文件中读取数据   要使用文本文件中的信息,首先需要将信息读取到内存中.为此,你可以一次性读取文件的全部内容,也可以以每次一行的方式逐步读取. 9.1.1 读取整个文件 with open( ...

  2. Linux-grep或和与操作

    一.或(or)操作1.使用选项 -Egrep -E 'a1|a2'filename // 找出文件(filename)中包含a1或者包含a2的行 2.使用egrepegrep 'a1|a2' file ...

  3. NOI 2019 补全记录

    D1T1 回家路线 好久之前写的,忘了具体细节,但是发现有平方项所以考虑拆项之后斜率优化. D1T2 机器人 考虑 DP. 记 \(f_{l,r,i}\) 表示 \([l,r]\) 这段区间,最大值为 ...

  4. 玩转 CMS

    玩转 CMS 目前接手的内容管理系统(CMS)基于 ant-design-vue-pro(简称模板项目或ant-vue-pro) 开发的,经过许多次迭代,形成了现在的模样(简称本地项目). 假如让一名 ...

  5. Java并发编程实例--16.使用ReentrantLock实现线程同步

    Java提供另一机制去同步代码块.它比synchronized关键字更强大且易用. 它是基于Lock接口和其实现类例如:ReentrantLock. 这一机制对比synchronized关键字的优势在 ...

  6. 【Android逆向】frida 破解 jwxdxnx02.apk

    apk 路径: https://pan.baidu.com/s/1cUInoi 密码:07p9 这题比较简单,主要是用于练习frida 1. 安装apk到手机 需要输入账号密码 2. 使用jdax 查 ...

  7. PostgreSQL中查看版本的几种方式

    PostgreSQL中查看版本的几种方式 1.SQL方式 1 2 3 4 5 6 7 8 9 10 postgres=# show server_version;  server_version -- ...

  8. mysql进阶语句优化---day40

    # ###part1: sql语句优化 #(1) mysql 执行流程 客户端: 发送连接请求,然后发送增删改查sql语句进行执行 服务端: 1.连接层:提供和客户端连接的服务,在tcp协议下 提供多 ...

  9. JVM类的加载和加载器

    JVM类的加载和类的加载器 一.类的加载过程 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来 ...

  10. SUB-LVDS 与LVDS 互联

    SUB-LVDS 与 LVDS介绍 电气规范 今天有同学问SUB-LVDS输出是否能接到LVDS输入上,以前没用过SUB-LVDS,一起学习一下. Sub-LVDS is a differential ...