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. 23.1 SEH之终止处理--《Windows核心编程》结构化异常处理

    (structured exception handing)SEH 包含终止处理和异常处理.本章讨论终止处理. 一.终止处理 终止处理程序确保不管一个代码块(被保护代码)如何退出的,另一个代码块(终止 ...

  2. jwt 生成的token exp 的单位是秒

    public class Test { public static void main(String[] args) throws UnsupportedEncodingException { Dat ...

  3. .NET 云原生架构师训练营(模块二 基础巩固 MVC终结点)--学习笔记

    2.3.4 Web API -- MVC终结点 MVC与MVVM 模型绑定 自定义模型绑定器 模型验证 返回数据处理 MVC与MVVM MVC ASP.NET Core MVC 概述:https:// ...

  4. Hadoop组件兼容性

    (1)HBase和Hadoop.zookeeper.JDK兼容版本 参考网址: https://hbase.apache.org/book.html 1)JDK和Hbase的兼容版本  对于JDK,最 ...

  5. Kubernetes 1.26.0实战:在本地配置k8s集群

    阶段一:开发环境及版本 以下环境均来自官网: 本地宿主机环境:Windows 10 21H2 64位 虚拟机软件:VMware workstation 15.5 pro 虚拟机镜像版本:ubuntu- ...

  6. 【分布式】load balance 04-java 从零手写实现负载均衡

    负载均衡系列专题 01-负载均衡基础知识 02-一致性 hash 原理 03-一致性哈希算法 java 实现 04-负载均衡算法 java 实现 本节我们来看一下如何实现一负载均衡框架. 源码 核心接 ...

  7. 【framework】surfaceflinger启动流程

    1 前言 ​ surfaceflinger 的作用是合成来自 WMS 的 Surface 数据,并发送到显示设备. ​ SurfaceFlinger 服务不同于 AMS.WMS.IMP.PMS.DMS ...

  8. Swoole从入门到入土(18)——WebSocket服务器[心跳ping]

    由于 WebSocket 是长连接,如果一定时间内没有通讯,连接可能会断开.这时候需要心跳机制,WebSocket 协议包含了 Ping 和 Pong 两个帧,可以定时发送 Ping 帧来保持长连接. ...

  9. 解决webservice接口调用报错:java.lang.ClassFormatError: Absent Code ... javax/mail/internet/MimeMultip

    今天使用java axis调用.net发布的webservice接口报了个错,排查半天,感觉代码逻辑没问题,最后发现是jar包冲突!!! 调用接口相关代码: String url="http ...

  10. win32 - 将剪贴板位图存储为文件

    简单的demo: #include <iostream> #include <fstream> #include <windows.h> typedef struc ...