学习Docker的记录
一、下载Docker for Windows 与 安装教程
二、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) 停止所有容器
-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
--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主机的网络堆叠进行路由
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)
docker service create --name aspservices -p 10086:80 --replicas 5 microsoft/dotnet-samples:aspnetapp(不指定网络,会自动创建overlay)
create 创建
--replicas 复制品
--network 添加网络
docker service ls 查看所有服务
docker service ps [服务名] 查看服务下的服务
--replicas 复制品
--network 添加网络
docker service ls 查看所有服务
docker service ps [服务名] 查看服务下的服务
五. STACK 使用