您现在的位置是:主页 > news > 做网站必须要公司才能做吗/网站内容优化方法
做网站必须要公司才能做吗/网站内容优化方法
admin2025/5/24 10:24:20【news】
简介做网站必须要公司才能做吗,网站内容优化方法,永康做网站,盘锦市网站建设Docker一、前言什么是DockerDocker是一个应用容器平台。为什么是Docker1合作开发的时候,在本机可以跑,在别人的电脑跑不起来2.服务器自己的程序挂了,结果发现是别人程序出了问题把内存吃完了,自己程序因为内存不够就挂了3.公司要弄…
Docker
一、前言
什么是Docker
Docker是一个==应用容器平台==。
为什么是Docker
1合作开发的时候,在本机可以跑,在别人的电脑跑不起来
2.服务器自己的程序挂了,结果发现是别人程序出了问题把内存吃完了,自己程序因为内存不够就挂了
3.公司要弄一个活动,可能会有大量的流量进来,公司需要再多部署几十台服务器
Docker和虚拟机区别
虚拟机是携带系统的,一些本身很小的应用程序因为系统会变得非常大,非常笨重
Docker是不携带操作系统的,所以Docker的应用非常轻巧
传统虚拟机 | Docker容器 | |
磁盘占用 | 几个GB到几十个GB左右 | 几十MB到几百MB左右 |
CPU内存占用 | 虚拟操作系统非常占用CPU和内存 | Docker引擎占用极低 |
启动速度 | (从开机到运行项目)几分钟 | (从开启容器到运行项目)几秒 |
安装管理 | 需要专门的运维技术 | 安装、管理方便 |
应用部署 | 每次部署都费时费力 | 从第二次部署开始轻松简捷 |
耦合性 | 多个应用服务安装到一起,容易互相影响 | 每个应用服务一个容器,达成隔离 |
系统依赖 | 无 | 需求相同或相似的内核,目前推荐是Linux |
Docker核心
·镜像:一个镜像代表一个应用环境,他是一个只读的文件,如mysql镜像,tomcat镜像,nginx镜像等
·容器:镜像每次运行之后就是产生一个容器,就是正在运行的镜像,特点就是可读可写
·仓库:用来存放镜像的位置,类似于maven仓库,也是镜像下载和上传的位置
·dockerFile:docker生成镜像配置文件,用来书写自定义镜像的一些配置
·tar:一个对镜像打包的文件,日后可以还原成镜像
二、安装(Ubuntu)
1.更新ubuntu的apt源索引
sudo apt-get update
2.安装包允许apt通过HTTPS使用仓库
sudo apt-getinstall \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
3.添加Docker官方GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg| sudo apt-key add -
4.设置Docker稳定版仓库
sudoadd-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
5.添加仓库后,更新apt源索引
sudo apt-get update
6.安装最新版Docker CE(社区版)
sudo apt-getinstall docker-ce
7.检查Docker CE是否安装正确
sudo docker runhello-world
8.为了避免每次命令都输入sudo,可以设置用户权限,执行后须注册重新登陆
sudo usermod -a -Gdocker $USER
三、阿里云镜像加速服务
1.注册阿里云账号并搜索镜像加速器
2.通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudomkdir-p /etc/docker
sudotee /etc/docker/daemon.json <{
"registry-mirrors": ["https://sr5ff4iz.mirror.aliyuncs.com"]
}
EOF
# cat /etc/docker/daemon.json 查看是否配置成功sudo systemctl daemon-reload
sudo systemctl restart docker
四、常用命令
4.1、服务命令
#启动dockersudoservice docker start#停止dockersudoservice docker stop#重启dockersudoservice docker restart
4.2、辅助命令
# 1.安装完成辅助命令
docker version ---查看docker的信息
docker info ---查看更详细的信息
docker --help---帮助命令
4.3、Images镜像命令
# 1、查看本机中所有镜像
docker images ---列出本地所有镜像-a列出所有镜像(包含中间映像层)
-q只现实镜像id
# 2、搜索镜像
docker search [options] 镜像名---区dockerhub上查询当前镜像-s指定值列出收藏数不少于指定值的镜像--no-trunc现实玩着的镜像信息
# 3、从仓库下载镜像
docker pull 镜像名[:TAG|@DIGEST] ---下载镜像# 4、删除镜像
docker rmi 镜像名---删除镜像-f强制删除
4.4、Contrainer 容器命令
4.4.1、基本命令(容器外操作)
# 1.运行容器
docker run 镜像名---镜像名新建并启动容器--name别名为容器起一个名字-d启动守护式容器(在后台启动容器)
-p映射端口号:原始端口号指定端口号启动例:docker run -it--name myTomcat-p8888:8888 tomcat
docker run -d--name myTomcat-P tomcat
#2.查看运行的容器
docker ps -列出所有正在运行的容器-a正在运行的和历史运行过的容器-q静默模式,只显示容器编号#3.停止|关闭|重启容器
docker start容器名字或者容器id --开启容器
docker restart容器名或者容器id --重启容器
docker stop容器名或者容器id --正常停止容器运行
docker kil1 容器名或者容器id --立即停止容器运行#4.删除容器
docker rm-f容器id和容器名
docker rm-f$(docker ps -aq)-删除所有容器#5.查看容器内进程
docker top容器id或者容器名-查看容器内的进程#6.查看查看容器内部细节
docker inspect 容器id--查看容器内部细节#7.查看容器的运行日志
docker logs[0PTIONS]容器id或容器名—-查看容器日志-t加入时间戳
docker类ctf题
GACTF 2020 MISC trihistory WP
按题目所要求的,拉下来后进去看看(这里发现有80端口开着,映射后没找到东西)
docker pull impakho/trihistory:latest
docker run impakho/trihistory:latest
docker exec -it (容器ID) /bin/bash
用命令 find / -name *flag* 寻找可用信息
在/var/www/html/ 下有flag.html然而提示flag被删了
使用命令 docker history impakho/trihistory:latest 可以查看镜像历史:
第三行是十分可疑的地方,结合那个flag.html我们可以知道应该需要在该层的上一层寻找删除的文件(原理见开头)
命令 docker inspect (容器ID) 显示镜像详情,这里面有我们需要的的上一层文件地址:
"Data": { "LowerDir": "/var/lib/docker/overlay2/0f56c1e70b7abdff23d4af0086b6785f36452e353b1f72241350a8a16a7f631a/diff:/var/lib/docker/overlay2/74937ae7d64f4e71ca1d21207cdb0351c9061e52c24b96d7ef1bb5390e922a8b/diff:/var/lib/docker/overlay2/5b2382d04d3cecdf024c55226ec76ac09528afd876704bd2060902de8c930d4a/diff:/var/lib/docker/overlay2/18e504d7953b6a3e83097c7371463d55c6f84a2cf9631ebca680f015a994fa30/diff:/var/lib/docker/overlay2/78d32b8efe559ada64ddaf40c295f7f628d6f66bc2bc608fd1659a544993a36d/diff:/var/lib/docker/overlay2/5b2e0f0718d91f8cfe7c836aeac0d62bf9ca3dd51a9565b3edfa5011f570b973/diff:/var/lib/docker/overlay2/4e9e5307c9c16d506a6f453c6cca6bb95bf6478f867edcad4758ef75996e3bb2/diff:/var/lib/docker/overlay2/11a484c8c600f7f4e7da7c10c746af366949fd54dbead18c714f690a3b988542/diff:/var/lib/docker/overlay2/8687aace973f08a9ca2756aaba3b4e41f982cf52b33cbf12d552c62f63953707/diff", "MergedDir": "/var/lib/docker/overlay2/e1295a59839727e2c0f3dde843d298cf53aaf404e08f6f6612f682686ab0484c/merged", "UpperDir": "/var/lib/docker/overlay2/e1295a59839727e2c0f3dde843d298cf53aaf404e08f6f6612f682686ab0484c/diff", "WorkDir": "/var/lib/docker/overlay2/e1295a59839727e2c0f3dde843d298cf53aaf404e08f6f6612f682686ab0484c/work" }
到目录下有个git文件夹,接下来我们就比较熟悉了,git config 后找到删除的文件checkout即可
可以发现有swp文件.flag.html.swp,vim -r flag.html 恢复后即是flag