一、下载Docker for Windows  与  安装教程

参考文档一步一步的来学习  文档1  文档2

二、Docker的常用命令介绍

docker run  -it  --rm   -p 8080:80 --name aspnetcor_sample1 microsoft/dotnet-samples:aspnetapp (运行一个容器)
-it 进入bash
-d  不进入bash
--rm 容器stop(容器停止)后自动删除容器
-p 指映射端口
--name 运行的容器名
Ctrl+P+Q 关闭bash不关闭容器
docker pull 拉取镜像
docker images 查看所有镜像
docker rmi  删除镜像
docker ps -a 查看所有运行容器
docker run 创建一个新的容器
docker rm 删除容器
docker start 运行容器
docker stop  停止容器
docker ps 查看运行容器
docker ps -a 查看所有运行容器
docker rm $(docker ps -aq) 删除所有容器
docker stop $(docker ps -aq) 停止所有容器

三.SWARM 集群搭建

docker swarm init --advertise-addr 192.168.0.201:2377 --listen-addr 192.168.0.201:2377 leader节点(只能是内网)
 --advertise-addr 是添加这个节点到swarm
 --listen-addr  是节点监听地址
 docker swarm join-token manager 是查看manager的token
 docker swarm join-token worker 是查看worker的token
 解散集群
 排空节点上的集群容器
 docker node update --availability drain node_id
 主动离开集群,让节点处于down状态,才能删除
 docker swarm leave
 删除指定节点 (管理节点上操作)
 docker node rm node_id
 管理节点,解散集群
 docker swarm leave --force
 docker node ls

四.Docker 网络 文档

docker network create -d overlay network_core //这是创建一个overlay网络network_core,-d 为指定driver为overlay(集群管理节点才能用哦)
docker的网络模式大致可以分成五种类型:
  bridge:默认是bridge模式网络 使用–net =bridge指定,默认网络驱动程序。当你的应用程序在需要通信的独立容器中运行时,通常会使用桥接网络。
  host:host模式网络 使用–net =host指定,对于独立容器,删除容器和Docker主机之间的网络隔离,并直接使用主机的网络
  none:none模式网络 使用–net =none指定,对于此容器,禁用所有网络
  container:container模式网络 使用–net =container:指定容器名,可以多个容器共用一个网络
  user-defined模式网络:
        overlay:使用--net=overlay,覆盖网络将多个Docker守护程序连接在一起,并使群集服务能够相互通信。
         还可以使用覆盖网络来促进群集服务和独立容器之间的通信,或者在不同Docker守护程序上的两个独立容器之间进行通信
        macvlan:Macvlan网络允许您为容器分配MAC地址,使其显示为网络上的物理设备。Docker守护程序通过其MAC地址将流量路由到容器。
          macvlan 在处理期望直接连接到物理网络的传统应用程序时,使用驱动程序有时是最佳选择,而不是通过Docker主机的网络堆叠进行路由

五. SERVICE 创建

docker service create --name aspservices -p 10086:80 --network network_core --replicas 5 microsoft/dotnet-samples:aspnetapp(部署service必须创建overlay的network)
docker service create --name aspservices -p 10086:80 --replicas 5 microsoft/dotnet-samples:aspnetapp(不指定网络,会自动创建overlay)
create 创建
--replicas 复制品
--network 添加网络
docker service ls 查看所有服务
docker service ps [服务名] 查看服务下的服务

五. STACK 使用

stack是属于service的上层,我一般用stack方便,stack是文件形式

创建一个docker-compose.yml文件  语法文档

version: "3.7"
services:
  aspnetcor_sample1:
    image: microsoft/dotnet-samples:aspnetapp
    ports:
      - "8080:80"
    networks:
      - overlay
    deploy:
      mode: replicated
      endpoint_mode: vip
volumes:
  db-data:
networks:
  overlay:
docker stack deploy -c docker-compose.yml  mystack (创建stack)

六.Dockesfile生成镜像 文档

FROM :设置镜像源,暂时没有找到更小的源,后续有的话再补充
WORKDIR:配置工作目录
COPY . . :复制发布后的bll文件到app目录下
EXPOSE 8001 :这里的意思是开放容器内的8001端口,并不是代码用这个端口
ENV :配置系统环境变量,比如程序环境环境等在这里配置(开发、预发、线上环境)
ENV ASPNETCORE_URLS :这里是配置程序运行端口 如果程序不使用默认的80端口这里一定要设置(程序运行端口)
ENTRYPOINT:启动入口
对应.netcore应用程序,设置 ASPNETCORE_ENVIRONMENT 环境变量为自定义的值,就会寻找对应的配置文件,默认不设置会加载appsettings.json
Docker run -e "ASPNETCORE_ENVIRONMENT=development" myimage
docker build -t mycore:v1.0 . Dockerfile (构建镜像)

学习Docker的记录的更多相关文章

  1. 从零开始学习 Docker

      这篇文章是我学习 Docker 的记录,大部分内容摘抄自 <<Docker - 从入门到实践>> 一书,并非本人原创.学习过程中整理成适合我自己的笔记,其中也包含了我自己的 ...

  2. Docker入门 .Net Core 使用Docker全程记录

    https://www.cnblogs.com/flame7/p/9210986.html Docker入门 第一课 --.Net Core 使用Docker全程记录   微服务架构无疑是当前最火热的 ...

  3. Java学习-007-Log4J 日志记录配置文件详解及实例源代码

    此文主要讲述在初学 Java 时,常用的 Log4J 日志记录配置文件详解及实例源代码整理.希望能对初学 Java 编程的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激!源代码测试通过日期为:20 ...

  4. Docker入门 第一课 --.Net Core 使用Docker全程记录

    微服务架构无疑是当前最火热的开发架构,而Docker作为微服务架构的首选工具,是我们必须要了解掌握的. 我通过一天的时间,网上查文档,了解基础概念,安装Docker,试验Docker命令,通过Dock ...

  5. Docker 操作记录

    Docker docker info 查看信息 docker 更改镜像目录 方式:1.配置文件修改 # cat /etc/sysconfig/docker |grep -v ^# |grep -v ^ ...

  6. 如何学习Docker

    如何学习Docker 学习Docker,如果没有云计算的基本知识,以及内核的基本知识,那么学习并理解起来会稍吃力.作为容器,Docker容器的优势在哪,不足在哪,最好了解容器的实现是怎样的(简单了解) ...

  7. 系统学习Docker 践行DevOps理念

    Docker代表的容器技术是近两年的大热技术,和人工智能.区块链等热点不同,容器技术的门槛并不高,每一个开发.测试.运维人员都能在日常工作中掌握和使用,是当今IT从业人员的必备技能之一.本课程会带大家 ...

  8. 一、docker临时记录

    docker 临时记录(阿里云centos7.2.1511 ) 查看系统版本号 适用于Redhat/CentOS: [root@iz2zecm4ndtkaue32tynx5z ~]# cat /etc ...

  9. 从零开始学习docker之在docker中搭建redis(集群)

    docker搭建redis集群 docker-compose是以多容器的方式启动,非常适合用来启动集群 一.环境准备 云环境:CentOS 7.6 64位 二.安装docker-compose #需要 ...

随机推荐

  1. [LC] 100. Same Tree

    Given two binary trees, write a function to check if they are the same or not. Two binary trees are ...

  2. js 中 == 和 === 的区别

    js中的 ==和===的区别 简单理解 js 是弱类型的语言,其中 == 可以理解为 是值是否相等,而===不仅比较值是否相等,还比较类型是否相等. 简单案例: var str = "1&q ...

  3. 关于Git的版本控制

    1.关于版本控制? 版本控制是一种记录文件或文件集随时间变化的系统,以便您以后可以调用特定版本,如果您是图形或Web设计人员并希望保留图像或布局的每个版本(您肯定希望这样),则使用版本控制系统(VCS ...

  4. Git学习笔记(二) · 非典型性程序猿

    远程库的使用 前面说到的都是git在本地的操作,那么实际协作开发过程中我们肯定是要有一个远程版本库作为项目的核心版本库,也就是投入生产使用的版本.这里我们以 Github为例.Github是一个开放的 ...

  5. 对BFC的深层理解

    BFC(Block Formatting Context)块级格式化上下文 注意:BFC首先是块,其次需要具备下面的条件之一才可以(通俗来说,BFC就好比一所985或者211的高校,想要成为985或者 ...

  6. 整合 KAFKA+Flink 实例(第一部分,趟坑记录)

    2017年后,一大波网络喧嚣,说流式处理如何牛叉,如何高大上,抱歉,工作满负荷,没空玩那个: 今年疫情隔离在家,无聊,开始学习 KAFKA+Flink ,目前的打算是用爬虫抓取网页数据,传递到Kafk ...

  7. Android状态机StateMachine使用举例及源码解析

    Android frameworks源码StateMachine使用举例及源码解析 工作中有一同事说到Android状态机StateMachine.作为一名Android资深工程师,我居然没有听说过S ...

  8. poi简介

    POI简介(用于操作Excel) 1 Java Aspose Cells Java Aspose Cells 是一种纯粹的Java授权的Excel API,开发和供应商Aspose发布.这个API的最 ...

  9. Java 线程基础知识

    前言 什么是线程?线程,有时被称为轻量进程(Lightweight Process,LWP),是程序执行流的最小单元.一个标准的线程由线程 ID,当前指令指针 (PC),寄存器集合和堆栈组成.另外,线 ...

  10. XXE学习(一)——XML基础

    XXE学习(一)——xml基础 一.XML简介 XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据 ...