• linux centos8 安装dokcker并启动coreapi


    粘的个人笔记,格式有点乱。勿在意
    1. core api程序包

    发布直接部署包:

    链接:https://pan.baidu.com/s/1zZe9H1Fevf7DdzfF-MJb9w
    提取码:t0ai

    源码:
    链接:https://pan.baidu.com/s/1H_7rx39lPF3-kFPEEXN9eA
    提取码:dwci
    1. 本地安装Docker Desktop已支持vs
      1. 下载地址https://desktop.docker.com/win/stable/Docker%20Desktop%20Installer.exe
    2. vs创建时选择则会在程序目录下自动生成Dockerfile(无扩展名)文件,如果是已有项目需手动创建该文件。
    1. 启动Docker Desktop
      1. 报错处理
    1. 配置linux的yum下载文件地址
    备份源文件
    cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
    删除原文件
    rm -rf /etc/yum.repos.d/Centos-Base.repo
    下载新配置文件(可以手动下载)
    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
    更新缓存
    yum makecache
    1. 升级yum
    yum update
    1. 卸载已安装的旧版本的docker
    yum remove docker
    1. 配置docker下载地址
      1. 文件路径和CentOS-Base.repo文件路径一致(可手动下载)
      1. 更改docker镜像源地址为阿里云
    sudo mkdir -p /etc/docker已有路径忽略) sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://lxp17iod.mirror.aliyuncs.com"] } EOF
      1. 更新缓存
    sudo systemctl daemon-reload sudo systemctl restart docker
      1. 安装docker依赖
    列出可安装的docker版本
    yum list docker-ce --showduplicates | sort -r
    1. 安装docker-ce
    yum install docker-ce (yum -y install docker)
    安装过程中提示选y继续安装
     
    1. 启动docker
    systemctl start docker
    Centos8默认安装docker的路径
    docker默认安装目录:/var/lib/docker
    1. 配置docker开机启动
    sudo systemctl enable docker
    1. 查看docker的版本
    docker version
     
    1. 创建core api
      1. Dockerfile
            #基于mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim构建Docker Image
            #FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
     
            # 基于microsoft/dotnet:latest构建Docker Image
            FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim
     
            # 进入docker中的/usr/local/src目录
            RUN cd /usr/local/src
     
    # 创建DockerWebAPI目录
    RUN mkdir MyDocker
     
    # 设置工作路径
    WORKDIR /usr/local/src/MyDocker
     
    # 将当前文件夹下的所有文件全部复制到工作目录
    COPY *.* ./
     
    # 向外界暴露6666端口
    EXPOSE 6666
     
    # 执行dotnet MyDocker.dll命令
    CMD ["dotnet", "MyDocker.dll"]
      1. 指定程序端口
     
     
    1. 创建要执行程序的docker镜像,将core api发布后的文件拷贝到自定义目录,并进入该目录执行。
    docker build -t mydocker:v1.1 .
    解释:
    mydocker 为你要定义的镜像名称(名称可能绑定不上)
    v1.1 版本号
    . 为该目录下的Dockerfile文件
     
    修改镜像名称:docker tag imageid REPOSITORY:TAG
    镜像创建失败的image
    1. 创建并启动docker容器
    docker run -it --rm -d -p 5000:6666 --name 容器名称 镜像名称:tag
    解释:
    -p 5000:6666 外部访问端口:内部端口。注意内部端口号需要和程序内部指定的端口号一致
    --name后跟的就是容器名称
    -d 后台一直运行
    -rm 会判断如果存在同名实例会删除替换
    命令最后一单词就是部署的镜像名称(全小写)
    1. 输入exit退出(前台执行时)
    1. 测试api
      1. curl 接口地址
    1. 查看docker中已安装的镜像
    docker images
    1. 查看所有运行中的容器
    docker ps
    1. 查看所有容器
    docker ps -a
    1. 关闭容器
    docker stop 容器ID(dotnet ps出的CONTAINER ID )或容器名
    1. 启动容器
    docker start 容器ID
    1. 重启容器
    docker restart 容器id
    1. 删除容器
    docker rm 容器id
    1. 删除镜像
      1. 先停止运行的相关的实例
        1. 如果存在正在运行的docker容器,删除会报错“Error: container_delete: Impossible to remove a running container, please stop it first”
      2. docker rmi imageid
        1. 删除报错:Error response from daemon: conflict: unable to delete f35646e83998 (must be forced) - image is being used by stopped container a45bd96a270b
    说明容器只是stop并没有被删除,执行docker rmi 容器id 删除容器后在删除镜像。
    也可使用 docker rmi -f imageid 强制删除镜像
    1. 导出镜像。在哪个路径导出文件在哪
      1. docker save -o <保存路径及导出的mingc.tar> <镜像名称:标签>
    docker export -o ./mydocker_jingxiang.tar zs111:2112
    1. 导入镜像
    docker load < 导入的路径及文件名称.tar
    1. 导出容器。在哪个路径导出文件在哪
      1. docker export 容器ID> 导出路径及的名称.tar
    2. 导入容器
    docker import 导入路径及文件名称.tar REPOSITORY:TAG
    报错:docker: Error response from daemon: No command specified.
    See 'docker run --help'.
    解决:在导入语句最后加 /bin/bash
    1. 其他
    查看容器进程docker top cid 查看容器日志docker logs cid 查看容器变化 docker diff cid 进入容器docker exec -ti cid /bin/bash或者 docker attach cid(不推荐,终端显示相同,显示不 安全且容易卡住) 查看容器详细信息 docker inspect cid 包括配置信息,名称,命令、网路配置以及很多有用数据 查看容器端口 docker port cid
    列出所有容器id docker ps -aq
    停止所有容器 docker stop $(docker ps -aq)
    删除所有容器 docker rm $(docker ps -aq)
    删除所有镜像 docker rmi $(docker images -q)
  • 相关阅读:
    Dora.Interception,为.NET Core度身打造的AOP框架 [3]:多样化拦截器应用方式
    Dora.Interception,为.NET Core度身打造的AOP框架 [2]:以约定的方式定义拦截器
    Dora.Interception,为.NET Core度身打造的AOP框架 [1]:更加简练的编程体验
    TechEmpower最新一轮的性能测试出炉,ASP.NET Core依旧表现不俗
    [文章汇总]ASP.NET Core框架揭秘[最近更新:2018/10/31]
    依赖注入[8]: .NET Core DI框架[服务消费]
    依赖注入[7]: .NET Core DI框架[服务注册]
    依赖注入[6]: .NET Core DI框架[编程体验]
    依赖注入[5]: 创建一个简易版的DI框架[下篇]
    依赖注入[4]: 创建一个简易版的DI框架[上篇]
  • 原文地址:https://www.cnblogs.com/zszs/p/13853609.html
Copyright © 2020-2023  润新知