IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Docker第二招——命令基础 -> 正文阅读

[系统运维]Docker第二招——命令基础

一、docker镜像操作

docker run hello-world 
run :
pull        dockerhub      仓库中项目/库/镜像
start       hello-world-image

在这里插入图片描述
注释:
1、dockerclient客户端连接到了服务端(服务端是以一个守护进程的形式跑在操作系统里的)restful api典型的C/S架构
2、由docker服务端的守护进程从docker hub上下载了镜像
3、服务端创建了一个新的容器,然后从拉去的这个镜像启动了一个容器,容器执行了脚本/可执行程序让我们可以查看/使用
4、docker 服务端把这些信息流(传递)返回到客户端并展示出来, (展示在终端上)
docker client 可以是多种形式,比如"docker"命令:工具所在的终端

二、docker命令—镜像

查看docker版本

docker -v 
docker version 
decker info  可以查看所有运行容器的镜像数量,运行容器的版本,可以分配的CPU,总的内存等信息.docker的工作目录 /var/lib/decker

搜索镜像

docker search nginx 
——》自己制作镜像,然后上传到docker hub 上
优化:有效减少镜像大小,dockerfile 优化方向

下载镜像(默认是从docker hub)

docker pull 镜像名称
例如:docker pull nginx

在这里插入图片描述

查看镜像列表

docker images     看当前docker下的下载镜像信息

在这里插入图片描述

获取镜像信息,封装镜像的详细信息

docker inspect  镜像ID  

添加镜像标签

 docker tag hello-world:latest hello-world:lamp 

在这里插入图片描述
删除镜像

docker rmi    镜像名称
docker rmi    镜像标签
docker rmi  `docker images -q`      -q 列出镜像ID

在这里插入图片描述
镜像导出

docker save -o  文件名镜像名
示例:
docker save -o centos_7 centos:7
docker save -o nginx_docker nginx:lastest

镜像导入

docker load < nginx

使用场景:有的生产环境,企业不直接使用docker私有仓库,而是存放在一个ftp服务器中,按需上传下载。

docker ps  -aq              只过滤出容器ID
docker rm `docker ps -aq`   批量删除=
CONTAINER ID:容器ID
IMAGE:镜像版本
CRATED:创建的时间
STATUS:运行的时间
PORTS:暴露的端口
NAMES:名称(可定义)

三、docker命令—容器操作

查询容器

docker ps -a

创建容器

docker create -it nginx:latest /bin/bash
-i 让容器的标准输入保持打开
-t 分配一个伪终端
-d 后台守护进程的方式运行

启动容器

docker start  容器id

在这里插入图片描述

启动容器(一次性执行)

docker run centos:7 /usr/bin/bash -c ls /

在这里插入图片描述

停止容器

docker stop  容器ID
状态码0:正常退出,非0值表示非正常退出,137表示主动停止退出

容器持续后台运行

 docker run -d centos:7 /usr/bin/bash -c "while true;do echo hello;done"

在这里插入图片描述

  watch -n 2 docker ps -a

在这里插入图片描述

docker rm `docker ps -aq` #不会删除正在运行的

进入容器

使用run
docker run -it nginx:latest /bin/bash         #一次性的,退出则关闭
exec(容器必须为开启状态)
docker exec -it  容器ID /bin/bash

PS:
docker run -it 会创建前台进程,但是会在输入exit后终止进程。
docker attach  会通过连接stdin,连接到容器内输入输出流,会在输入exit后终止进程.
docker exec -it 会连接到容器,可以像SSH一样进入容器内部,进行操作,可以通过exit退出容器,不影响容器运行。

容器导出

docker export    容器ID   >   文件名
示例:
docker export   容器ID   >    nginx_a

容器导入
生成镜像

docker import      导出的文件名(容器)  指定镜像名称
示例:
docker import       nginx_a         nginx:latest
cat  文件名(容器)|  docker import - nginx : latest

删除容器

docker rm 容器ID

强制删除容器

 docker rm -f 容器ID

批量删除容器

docker ps -a | awk '{print "docker rm "$1}' | bash

批量删除"exit"状态的容器

for i in 'docker ps -a | grep -i exit | awk '{print $1}'`; do docker rm -f $i; done

四、docker网络模式

容器网络
docker0网络
docker容器的虚拟网关
loopback :回环网卡、TCP/IP网卡是否生效
virtual bridge: linux
白身继承了一个虚拟化功能(kvm架构),是原生架构的一一个虚拟化平台,安装了一个虚拟化平台之后就会系统就会自动安
装虚拟网卡
(示例:安装workstation ( 虚拟化平台)之后,会在网络适配器中会多H出VMnet1 VMnet8 VMnet0)
docker 0 :容器的网关,绑定物理网卡,负责做NAT地址转换、端口映射
docker 0本身也是一种容器

Docker四种模式:
1、Host模式
host容器将不会虚拟出自己的刚卡,配置自己的IP等等,而是使用宿主机的IP和端口
如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network
Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,
配置自己的IP等等,而是会使用宿主机的IP和端口。但是,容器的其他方面,如文件系统、进
程列表等还是和宿主机隔离的。
使用host模式的容器可以直接使用宿主机的IP地址与外界通信,容器内部的服务端口也可
以使用宿主机的端口,不需要进行NAT, host 最大的优势就是网络性能比较好,但是docker
host上已经使用的端口就不能再用了,网络的 隔离性不好。

2、container模式
container创建的容器不会创建自己的网卡、设置IP等,而是和一个指定地容器共享IP、
端口范围
这个模式指定新创建的容器和已经存在的一个容器共享一个network namespace,而不是和
宿主机共享,新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定地容器共
享IP、端口范围等。同样,两个容器除了网络方面,其他的如文件系统、进程列表还是隔离
的。(两个容器的进程可以通过loo网卡设备通信)

3、None模式:该模式关闭了容器的网络功能
这种网络模式下容器只有lo回环网口,并没有其他的网卡。none模式可以在容器创建时通过
-network=none参数指定
这种类型的网络无法联网,但是封闭的网络能很好的保证容器的安全性。

4、Bridge模式:
此模式会为每一个容器分配、设置IP等,并将容器连接到一个docker虚拟网桥,通过docker 0 网桥及iptables的nat,表配置与宿主机通信
当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的Docker容器会连接到这个虚拟网桥上。虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就可以通过交换机连在了一个二层网络中。
从docker0子网中分配一个IP给容器使用,并设置docker0 的IP地址为容器的默认网关。在主机上创建一对虚拟网卡veth pair 设备,Docker 将 veth pair 设备的一端放在新创建的容器中,并命名etho(容器的网卡),另一端放在主机中,以vethxxx,这样类似的名字命名,并将这个网络设备加入到docker0 网桥中。可以通过brctl show命令查看。
bridge模式是docker 的默认网络模式,不写-net参数,就是 bridge模式。使用docker run -p时, docker实际是在iptables,做了DNAT规则,实现端口转发功能。可以使用jptables. -t nat -vnL查看。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-05 11:27:40  更:2021-09-05 11:28:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 13:55:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码