一、下载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. 启动Tomcat报WEB-INF\lib\j2ee.jar jar not loaded异常的解决办法

    今天加载工程时突然发现Tomcat报: 2010-7-1 12:11:38 org.apache.catalina.loader.WebappClassLoader validateJarFile 信 ...

  2. selenium ide几个版本和对应的firefox版本

    最近安装selenium ide折腾了好久,可能是目前还不太熟悉自动化脚本录制的一些知识. 通过最新版firefox59安装的selenium ide 3.0.2录制的脚本不能导出.于是下载了低版本的 ...

  3. SpringBoot + JPA + mariadb

    SpringBoot + JPA + MariaDB 源码:https://github.com/ldl326308/LiveGreen-SpringBoot.git JPA持久层方法名命名规则:

  4. js 实现排序算法 -- 冒泡排序(Bubble Sort)

    原文: 十大经典排序算法(动图演示) 冒泡排序(Bubble Sort) 冒泡排序是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来.走访数列的工作 ...

  5. echarts饼图字体大小修改

    const option = { tooltip: { trigger: 'item', formatter: "{a} {b}: {c} ({d}%)" }, series: [ ...

  6. 用Express 4和 MongoDB打造Todo List

    本篇文章主要參考自DreamersLab - 用Express和MongoDB寫一個todo list.原文的教學內容是使用Express 3.x版,在這邊做簡單Express 4.12.1的todo ...

  7. Welcome to Giyber Blog - LC的博客

    "You can be the best! " 一切才刚开始 "不知道行不行,试试吧."抱着这样的理由,一个小白的成长记录,由此开始. 在 Mr.锤 的&quo ...

  8. Mysql(或者sqlite), Mongo中update Column + 1

    Mysql(或者sqlite), Mongo中update Column + 1 有类似以下需求,在数据库表里有一个字段,记录了一个count,然后又时候需要在count的基础上加上某个数字,比如1. ...

  9. 【OpenCv-Python】Getting Started with Images

    1.1读入图像 使用函数 cv2.imread() 读入图像.这幅图像应该在此程序的工作路径,或者给函数提供一个完整的路径,第二个参数是要告诉函数应该如何读取这幅图片. cv2.IMREAD_COLO ...

  10. pika使用报错queue_declare() missing 1 required positional argument: 'queue'

    报错如下截图,使用pika的版本太高导致,重新安装pika==0.10.0解决.