一、下载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. supervised learning|unsupervised learning

    监督学习即是supervised learning,原始数据中有每个数据有自己的数据结构同时有标签,用于classify,机器learn的是判定规则,通过已成熟的数据training model达到判 ...

  2. 吴裕雄--天生自然 R语言开发学习:重抽样与自助法(续一)

    #-------------------------------------------------------------------------# # R in Action (2nd ed): ...

  3. 红灯区:DevOps 建设的思考和实践

    点击关注"有赞coder" 获取更多技术干货哦- 作者:费解 团队:效能改进 背景 众所周知,在丰田精益生产中,核心观念包含对人的尊重.消除浪费.持续改善,只有这样,企业才能保持良 ...

  4. virtualenv 个人指南

    virtualenv是解决一个机器上多个应用需要的Python版本不一致的问题,virtualenv就是用来为一个应用创建一套"隔离"的Python运行环境,解决了解决了不同应用间 ...

  5. kali pinyin

    重装了kali,原来一直用的ibus pinyin重装之后再apt-get install的时候总是找不到包,换了各种源都不行,纠结N久果断换别的输入法了. apt-get install fcitx ...

  6. 基础又重要的浮动(float)

    浮动 浮动的概念 什么是浮动,他在css中占据什么样的位置 网页布局的核心,就是用CSS来摆放盒子位置.如何把盒子摆放到合适的位置? 在css中有三种方式来定位位置 普通文档标准流方式 (默认方式) ...

  7. 6——PHP顺序结构&&字符串连接符

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  8. django之初建项目

    一.项目预览 1.在创建项目之前,必须先进入虚拟环境,因为我们的包安装在我们的虚拟环境中,不在我们的中环境中 >>> ./venv/Scripts/activate 2.创建一个项目 ...

  9. KEMET新型电容器推动了电动汽车技术的发展

    前言:KEMET成立于1919年,总部位于佛罗里达州劳德代尔堡,是全球领先的高端电子组件供应商,KEMET为客户提供业内最广泛的电容器技术选择,以及不断扩大的机电设备,电磁兼容性解决方案和超级电容器. ...

  10. 在linux中下载安装FTP服务

    一.环境及需求 阿里云服务器的Centos6.9版本,当时需要用到上传服务,所以我想着先搭建一个ftp,比较方便快捷,但是我参考了网上好多的博客,简单安装是没问题,但是时不时还会遇到好多坑,与其说是博 ...