kali 脚本应用(二)
创始人
2024-02-20 15:35:02
0

目录

docker基础

dockerfile(构建docker镜像的文件)

docker网络


docker基础

# 启动容器

docker run -d --name nginx01 -p 3344:80 nginx(要启动的镜像名)

-d:后台运行

--name:给容器取名

-p 主机端口:docker端口:将docker中的80端口映射到主机的3344端口,即localhost:3344,可以访问到docker的80端口

# 进入容器

docker exec -it 容器id /bin/bash [-c (可以执行command)]

docker attch 容器id

# 容器可视化

docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer

# 拷贝

docker cp 容器id:/root/file /root

# 容器数据卷

- 容器持久化和同步操作,容器之间也可以数据共享

docker run -it -v 主机目录:容器目录 -p 80:8080 tomcat

# 配置mysql

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=root -d -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql mysql

# 具名挂载和匿名挂载

-v 容器内路径    # 匿名挂载

-v 卷名:容器内路径 #具名挂载

-v /宿主机路径:容器内路径  #指定路径挂载

# ro和rw

-v /宿主机路径:容器内路径:ro  # readonly容器内只读,只能用宿主机编辑

-v /宿主机路径:容器内路径:rw  # 读写

# 数据卷容器,实现多个容器之间数据共享

docker run -it --name docker02 --volumes-from docker01 mysql

# 多个mysql共享

docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=root -d -v /etc/mysql/conf.d -v /var/lib/mysql mysql

docker run --name mysql02 -e MYSQL_ROOT_PASSWORD=root -d --volumes-from mysql01 mysql

数据卷容器的生命周期是持续到没有人使用为止

dockerfile(构建docker镜像的文件)

# 1、编写dockerfile :

FROM centos

VOLUME ["volume01"] # 匿名挂载

CMD echo -----end----

# 2、docker build 构建称为一个镜像

docker build -f dockerfile -t myimage:1.0 .

# 3、docker run 运行镜像

# 4、docker push发布镜像(DockerHub、阿里云镜像仓库)

基础知识:

1、保留关键字(指令)都必须是大写字母

2、# 表示注释

3、每一个指令都会创建提交一个新的镜像层,并提交

FROM                                 # 基础镜像,一切从这里开始构建

MAINTAINER         # 镜像是谁写的,姓名+邮箱

RUN                                        # 镜像构建时需要运行的命令 ===> RUN yum -y install vim

ADD                                        # 添加内容

WORKDIR                        # 镜像的目录

VOLUME                        # 挂载目录

EXPOST                         # 暴露端口配置

CMD                                        # 指定容器启动时要运行的命令,只有最后一个会生效,可被替代

ENTRYPOINT        # 指定容器启动时要运行的命令,可以追加命令

ONBUILD                        # 构建一个被继承DockerFile这个时候就好运行ONBULD指令,触发指令

COPY                                # 类似ADD,将文件拷贝到镜像中

ENV                                        # 构建的时候设置环境变量  ==> ENV key value

# docker tomcat镜像构建

# dockerhub镜像发布

docker login -u 用户名

docker tag imageId newname:1.0

docker push newname:1.0

docker网络

1、每启动一个docker容器,docker就会给docker容器分配一个ip,只要安装了docker就会有一个docker0网卡

(桥接模式,使用的技术是evth-pair)

evth-piar:一对虚拟设备接口,他们都是成对出现,一段连接协议,一段彼此相连

# NAT(直连)

Docker中的所有网络接口都是虚拟的。虚拟的转发效率高。(内网传递文件)

只要容器删除,对应网桥消失

# 查看网络

docker network ls

# --link 通过主机名ping通网络,而不是ip(不建议)

docker run --name tomcat02 --link tomcat01 tomcat

本质在hosts配置了一个

ip   tomcat01

# 自定义网络

1、网络模式

bridge : 桥接

none   : 不配置网络

host   : 和宿主机共享网络

container:容器网络连同(用的少)

2、创建网络

docker network create --driver bridge --subnet 192.168.0.0/16 --geteway 192.168.0.1 mynet

3、使用网络

docker run -d -P --name tomcat-net-01 --net mynet tomcat

# 16表示子网掩码255.255.0.0

# 网络连同 docker 和 mynet已经不是一个网段 不能连同

docker network connect mynet tomcat01(docker网段)

docker network inspect mynet

# 结果:将tomcat01加入mynet ,一个容器两个ip

相关内容

热门资讯

多城密集出台购房补贴政策   临近年末,房地产市场再迎来一波购房补贴热潮。   12月8日,上海市杨浦区发布打造互联网优质内容...
新华社快讯:韩国特检组发布最终... 新华社快讯:韩国负责调查紧急戒严事件的特检组15日发布最终调查结果,对包括前总统尹锡悦在内的24人提...
“一站式”调解织密基层平安网 深圳市龙华区福城街道综治中心以实体化、规范化建设为抓手,深入推进“一站式”矛盾纠纷调解体系建设,全面...
美芯片政策“摇摆”难掩对华封锁... 来源:科技日报 当地时间12月8日,美国总统特朗普宣布已批准英伟达向中国出售H200人工智能(AI)...
黑龙江“1+9”工作模式助推公... 近日,省司法厅印发《黑龙江省公共法律服务规范提升三年行动实施方案(2025-2027年)》,着力构建...
哈塞特回应“特式干预”:美联储... 智通财经获悉,白宫国家经济委员会主席凯文·哈塞特表示,如果被选中领导美联储,他会考虑美国总统特朗普的...
坚持政策支持与改革创新并举 中央经济工作会议在分析“今年怎么看”和部署“明年怎么办”中,概括提炼出“五个必须”的新的认识和体会。...
2026年国补释放新信号,政策... 12月10日至11日,中央经济工作会议在北京召开,会议上确定明年经济工作重要任务,第一项就是“坚持内...
当调解遇上AI 阳泉“智慧调解... 山西晚报·山河+讯(记者 辛戈)在阳泉,科技力量正深度融入基层调解工作,让矛盾纠纷化解更智能、更高效...
韩国将债券市场稳定计划延长至2... 韩国金融委员会周一表示,决定将债券市场稳定计划延长至明年,理由是国内外货币政策变化以及公债发行量增加...