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 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux小知识---Docker -> 正文阅读

[系统运维]Linux小知识---Docker

简介

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
在这里插入图片描述

再说简单一点,就和虚拟机,模拟器功能类似,常规用法的时候,你的docker运行起来的容器,就相当于一个独立的系统,与你的宿主机是网络通讯的方法,其他内容都是相互独立的。
这样就有一种常见现象,你的宿主机可以比你的容器版本还低,挺有意思吧。
在这里插入图片描述

简单介绍一下使用方法,以后可以很迅速的用起来。

安装docker环境

安装必要软件,能够允许你的系统运行docker容器。我这里是CentOS7.9的版本。

yum -y install yum-utils device-mapper-persistent-data lvm2

增加docker 源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo  

安装docker平台容器包

yum -y install docker-ce

启动docker

systemctl start docker

自启动

systemctl enable docker

到这里就类似我们已经安装好了VMware这种工具了,后续想运行什么系统,只管去找镜像,安装即可
在这里插入图片描述

安装探针系统docker

在线安装centos7-host模式

docker run --net=host --privileged -itd -v /sys/fs/cgroup:/sys/fs/cgroup --name mydocker centos:7 /usr/sbin/init 

参数介绍,结尾还有更详细的介绍。

–net=host :容器与宿主机共享网络接口
–privileged:使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限。privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。甚至允许你在docker容器中启动docker容器。
-v:挂载宿主机的一个目录。
-name:指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字 centos:7:下载centos7版本
-d:指定容器运行与前台或者后台,不加上时前台
-i: 打开 STDIN,用于控制台交互
-t: 支持终端登录 /usr/sbin/init:系统启动命令

进入容器的shell

docker exec -it mydocker /bin/bash

然后就当它是一个纯净的系统,安装部署你自己的软件,并且调试完成之后,就可以用来拷贝部署了。
不过这个纯净系统,可能过于纯净,好多常用指令都需要重新安装
在这里插入图片描述

如果run的时候,我们并没有让容器开机启动,后续可以通过如下方式增加自启动

docker update --restart=always mydocker

制作探针镜像包

首先停止容器

docker stop mydocker

把容器制作成镜像(docker commit 容器ID 新镜像名称)

docker commit mydocker mydocker

把镜像保存在当前路径下(docker save -o 新镜像名称.tar 镜像名称)

docker save -o mydocker.tar mydocker

此时的mydocker.tar,我们就可以拷贝出来,用来部署到其他设备了。不过这个东西随便装一下,也不小,记得删除掉那些不需要的文件,可以让镜像小一些
在这里插入图片描述

部署到其他设备

加载解压镜像包。

docker load --input mydocker.tar

从镜像重新创建容器

docker run --restart=always --privileged -itd -v /sys/fs/cgroup:/sys/fs/cgroup --name mydocker mydocker  /usr/sbin/init

这种就只要求你的宿主机有docker环境,就可以运行你的全部软件了,是不是很酷
在这里插入图片描述

其他操作

启动容器

docker start mydocker

查看所有容器

docker ps -a

镜像列表

docker images

检索镜像, 从镜像仓库中检索

docker search xxx

下载镜像

docker pull xxx

删除镜像

docker rmi xxx

Docker run 参数
常用选项说明

参数含义
-d, --detach=false指定容器运行于前台还是后台,默认为false
-i, --interactive=false打开STDIN,用于控制台交互
-t, --tty=false分配tty设备,该可以支持终端登录,默认为false
-u, --user=“”指定容器的用户
-a, --attach=[]登录容器(必须是以docker run -d启动的容器)
-w, --workdir=“”指定容器的工作目录
-c, --cpu-shares=0设置容器CPU权重,在CPU共享场景使用
-e, --env=[]指定环境变量,容器中可以使用该环境变量
-m, --memory=“”指定容器的内存上限
-P, --publish-all=false指定容器暴露的端口
-p, --publish=[]指定容器暴露的端口
-h, --hostname=“”指定容器的主机名
-v, --volume=[]给容器挂载存储卷,挂载到容器的某个目录
–volumes-from=[]给容器挂载其他容器上的卷,挂载到容器的某个目录
–cap-add=[]添加权限,权限清单详见:http://linux.die.net/man/7/capabilities
–cap-drop=[]删除权限,权限清单详见:http://linux.die.net/man/7/capabilities
–cidfile=“”运行容器后,在指定文件中写入容器PID值,一种典型的监控系统用法
–cpuset=“”设置容器可以使用哪些CPU,此参数可以用来容器独占CPU
–device=[]添加主机设备给容器,相当于设备直通
–dns=[]指定容器的dns服务器
–dns-search=[]指定容器的dns搜索域名,写入到容器的/etc/resolv.conf文件
–entrypoint=“”覆盖image的入口点
–env-file=[]指定环境变量文件,文件格式为每行一个环境变量
–expose=[]指定容器暴露的端口,即修改镜像的暴露端口
–link=[]指定容器间的关联,使用其他容器的IP、env等信息
–lxc-conf=[]指定容器的配置文件,只有在指定–exec-driver=lxc时使用
–name=“”指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字
–net=“bridge”容器网络设置:
bridge 使用docker daemon指定的网桥
host //容器使用主机的网络
container:NAME_or_ID >//使用其他容器的网路,共享IP和PORT等网络资源
none 容器使用自己的网络(类似–net=bridge),但是不进行配置
–privileged=false指定容器是否为特权容器,特权容器拥有所有的capabilities
–restart=“no”指定容器停止后的重启策略:
no:容器退出时不重启
on-failure:容器故障退出(返回值非零)时重启
always:容器退出时总是重启
–rm=false指定容器停止后自动删除容器(不支持以docker run -d启动的容器)
–sig-proxy=true设置由代理接受并处理信号,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理

各种参数,满足你的不同需求
在这里插入图片描述

结束语

这几天的核心内容就是核酸,工作地核酸三次,间隔一天,居住地核酸三次,间隔一天,好巧不巧,没有一天重合。在这里插入图片描述
老老实实配合工作,希望能早点结束这场战争。至于囤物资什么的,当然不屯了,相信政府,就是最大的支持。
在这里插入图片描述
就算囤物资,我也偷偷囤,不告诉你们,偷偷囤在身上。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-27 11:41:37  更:2022-04-27 11:42:30 
 
开发: 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 20:55:49-

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