docker

DOCKER概述

DOCKER的主要组成

docker引擎+docker容器+docker镜像+docker仓库

关系

联系

容器和虚拟机的区别

虽然dockers可以理解为一个轻量级的虚拟机,但两者还是有本质的区别。
在这里插入图片描述

docker运行流程(架构)

在这里插入图片描述

有关容器的操作

在这里插入图片描述

查看容器内存使用情况

在这里插入图片描述

容器操作命令(结合上面图片理解)

1.拉取/上传镜像

docker pull 镜像名称:对应版本号 拉取
docker push 镜像名称 上传

2.查看本地镜像

docker images

3.删除本地镜像

docker rmi 镜像名

4.容器运行

docker run 镜像名
docker run -d 后台运行,不影响前台输入命令
docker run -d -p 22:33 端口映射,当主机端口22收到消息后就转发给容器的33端口,本机:主机
docker run -d -P P是随机映射,交给计算机

5.查看运行中的容器

docker ps 查看运行中的容器
docker ps -a 查看所有(运行和未运行)的容器
docker stats 查看容器状态

6.停止/启用容器

docker stop
docker start

7.容器重启

no:默认不重启
on-failure:   加上:3表示重启三次,均不成功后放弃重启
always:关闭了就重启
docker run -d -P --restart on-failure:3

指定容器环境变量

docker run -d -P -e(或者–env) JAVA_ENV=dev -e JAVA_VM=vm1

inspect查看容器相关信息

docker inspect 容器名

exec命令

docker exec -it 容器名 命令
exec是让容器执行命令
-it是让容器新开一个终端

限制容器内存与cpu

docker run -d -P -m 8m --cpus 1 容器名

docker网络通信

包括容器间的网络隔离、容器间的网络共享、管理多个子网下容器的ip

模式

bridge(桥接)模式

在主机中创建一个docker0的虚拟网桥,在docker0创建一对虚拟网卡,有一半是在宿主机一半是在容器中

主机通过ETH0找到docker0,然后进一步通过docker0的关联对找到容器的ETH0网卡
在这里插入图片描述

host主机模式

与主机在同一个网段吗,但同网段的可以不通过主机访问到容器,不太安全
在这里插入图片描述

none模式

完全隔离,即使宿主机被攻破了也无法通过网络来进入容器,只能通过exec等命令来进入
在这里插入图片描述

容器共享

只共享容器2的网卡和端口
在这里插入图片描述

自定义模式(推荐)

自定义网络,也要选一个网络连接方式(和外界的),然后指定子网,指定网关,再起一个名。注意子网和宿主机网段不一样,就不可访问。

docker network creat --driver bridge --subnet 192.168.50.0/24 --gateway 192.168.50.1 name

容器互联

桥接模式下互联

两个容器互联:docker run -d -P --name net1 --net bridge --link net1

自定义下的互联

在这里插入图片描述
容器1是默认网络模式,容器2是自定义,要想让两个不同网段的通信
docker network connect 容器2 容器1

dockerfile

是什么

docker提供的一个自定义构建镜像的配置文件,描述如何来构建一个对象
利用build命令,指定dockerfile文件,就可以按照配置的内容来把镜像构建出来
写好Dockerfile后,执行build命令构建镜像:
docker build -t 镜像名:版本号 .
即可生成镜像

容器编排

针对容器生命周期的快速方便管理

场景

例如部署项目时,容器间存在相互依赖。。。
集群部署的时候。。。
配置文件统一描述需要运行的服务相关信息,用它自动化的解析配置内容,并构建对应的服务。。。

Docker Compose(单机-在一台机器上部署多个容器)

docker compose程序有一个.yml文件,描述了容器运行时所需的各种配置:网络、数据卷、端口等等。

安装

curl -L “http://mirrors.aliyun.com/docker-toolbox/linux/compose/1.21.2/docker-compose- ( u n a m e − s ) − (uname -s)- (unames)(uname -m)” -o /usr/local/bin/docker-compose
下载下来改下执行权限即可

命令

services:需要运行的容器配置,可以理解为原先用 docker run 命令后面跟的一系列配置信息
networks:
volumes:

写好.yml,docker-compose up 启动(启动所有service)
docker-compose creat service名(只启动某个特定的)

Swarm(集群)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值