首页
关于
统计
友链
推荐
百度一下
腾讯视频
幻鹤主页
Search
1
使用AheadLib工具进行劫持DLL操作
2,831 阅读
2
数据库的关联查询
1,866 阅读
3
遇到闪照想保存?教你骚操作保存闪照
1,832 阅读
4
教大家“调教”应急食品
1,758 阅读
5
MySql的增删改查的练习
1,610 阅读
技术分享
Python
PHP
其他
网络安全
Java
JavaScript
生活趣闻
语言的魅力
作者的牢骚
登录
Search
标签搜索
mysql
kali
docker
dll
入门
MSF
网络安全
Huan-He
累计撰写
23
篇文章
累计收到
65
条评论
首页
栏目
技术分享
Python
PHP
其他
网络安全
Java
JavaScript
生活趣闻
语言的魅力
作者的牢骚
页面
关于
统计
友链
推荐
百度一下
腾讯视频
幻鹤主页
搜索到
2
篇与
docker
的结果
2023-03-04
Docker的进阶教程
容器卷容器卷是什么docker的理念回顾将应用和环境打包成一个镜像!就是把docker中mysql的文件同步到本地数据库中,实现同步使用数据卷方式一:使用命令来挂载 -vdocker run -it -v 主机目录:容器目录 # 实例一下 # 运行容器 docker run -it -v /home/ceshi:/home centos /bin/bash #此时本机home/ceshi目录中已经有文件了 #可以试着把容器停止 exit #然后查看容器还在不 docker ps #发现没有容器了 #在宿主机上添加文件,然后在启动容器 docker ps -a #拿到容器id docker start 容器id #启动容器 docker attach 容器id #进入容器正在运行的命令行 #然后就可以看到home目录有文件了安装MySql#获取镜像 docker pull mysql:5.7 #启动容器 docker run -d -p 3303:3306 -v /home/mysql/conf:/etc/mysql/conf -v /hom/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7 #上面的123456是mysql的密码然后就可以连接端口,且删除mysql挂在的数据卷存在本地,实现持久化、匿名挂载卷#匿名挂载 docker run -d -P --name nginx01 -v /ect/nginx nginx #具名挂载 docker run -d -P --name nginx02 -v juming-nginx:/ect/nginx nginx #查看所有volume的情况 docker volume ls ##==> DRIVER VOLUME NAME local 6b293610ad7957745378480c914af2b75107b84efdf3ff45e6db8df6c5808ece local juming-nginx # 查看他的信息 docker volume inspect juming-nginx #==> [ { "CreatedAt": "2023-03-03T20:49:57+08:00", "Driver": "local", "Labels": null, "Mountpoint": "/var/lib/docker/volumes/juming-nginx/_data", "Name": "juming-nginx", "Options": null, "Scope": "local" } ]所有的docker容器内的卷,没有指定目录的情况下都是在/var/lib/docker/volumes/xxx大多数都是使用具名挂在-v 容器内路径 #匿名挂载 -v 卷名:容器内路径 #具名挂载 -v /宿主机路径:容器内路径 #指定挂载拓展#通过内路径ro或者rw改变读写权限(只读,可读可写) docker run -d -P --name nginx02 -v juming-nginx:/ect/nginx:ro nginx docker run -d -P --name nginx02 -v juming-nginx:/ect/nginx:rw nginx #ro 只能从外部改变(宿主机)方式二容器数据卷Dockerfile就是来构建docker的镜像文件#通过这个脚本生成镜像 FROM centos VOLUME ["volme01","volme02"] CMD echo "---end---" CMD /bin/bash使用docker来执行这个脚本docker buid -f dockerfile01 -t huanhe/centes .这种方法会在启动自己容器里挂载两个目录可以让多个mysql同步数据docker run -it --name docker02 --volumes-from docker01 huanhe/centos:1.0 # 让docker02继承docker01的挂载dorckerfile基础知识每个保留关键字(指令)都是必须是大写字母执行从上到下顺序执行表示注释每一个指令都会创建提交一个新的镜像层,并提交!docker是面向开发的DockerFile:构建文件DockerImages:构建镜像Docker容器:提供运行容器DockerFile指令FROM #基础镜像,一切在这里开始 MAINTAINER #镜像所有者,姓名+邮箱 RUN # 镜像构建时需要的命令 ADD # 步骤,相当于加入tomcat压缩包 EORKDIR # 镜像目录的工作目录 VOLUME # 挂载卷 EXPOST # 暴露端口配置 CMD # 指定容器启动时执行的命令,只执行最后一条 ENTRYPOINT # 指定容器启动时执行的命令,可追加 ONBUILD # 当构建镜被继承则会执行 COPY # 类似ADD,将文件拷贝到镜像中 ENV # 构建的时候设置环境变量创建一个自己的centosFROM centos:centos7 MAINTAINER huanhe<admin@huanhe.xyz> ENV MYPATH /usr/local WORKDIR $MYPATH RUN yum -y install vim RUN yum -y install net-tools EXPOSE 80 CMD echo $MYPATH CMD echo "----end-----" CMD /bin/bash开始构建docker build -f 文件名 -t mycentos:0.1 . # 运行 docker run -it mycentos:0.1 #在进入后 pwd #发现在自己设置的工作目录里且可以使用了查看docker容器的历史docker history 容器id发布自己的镜像DockerHub地址: https://hub.docker.com/登录自己的docker login -u huanhe输入密码后就登录成功,然后开始提交# 需要按照官方命名才可以push # 改名 docker tag 容器id huanhe/xxx:1.0 #开始push docker push huanhe/xxx:1.0发布到阿里云# 登录 $ docker login --username=xxxx registry.cn-chengdu.aliyuncs.com # 改标签 $ docker tag [ImageId] registry.cn-chengdu.aliyuncs.com/huanhe/demo:[镜像版本号] # 推送 $ docker push registry.cn-chengdu.aliyuncs.com/huanhe/demo:[镜像版本号]总的来说
2023年03月04日
1,099 阅读
0 评论
0 点赞
2023-03-03
Dorcker镜像部署入门
Docker 练手实例nginx练习先搜索nginxdocker search nginx启动nginxdocker pull nginx #下载镜像 docker run -d --name nginx01 -p 3300:80 nginx #启动镜像并将80端口映射到公网上3300 # -d:后台运行 --name:给容器命名 -p宿主机:容器内端口端口暴露的概念进入容器docker exec -it ngin01 /bin/bashtomcat 练习直接上代码#官方的使用 docker run -it --rm tomcat:9.0 #我们之前的启动都是后台,停止了容器之后,容器还是可以查到 docker run -it --rm,一般用来测试,用完就删除 #我们还是慢慢来 #下载在启动 docker pull tomcat:9.0 #看看镜像是不是在 docker images #启动 docker run -d -p 3301:8080 --name tomcat01 tomcat:90部署es+kibana# es 暴露的端口很多 # es 十分耗内存 # es 的数据一般需要放置到安全目录 docker run -d --name es1 -p 3302:9200 -p 3303:9300 -e "discovery.type=single-node" elasticsearch:7.6.2 #很占内存,需要限制内存 docker run -d --name es1 -p 3302:9200 -p 3303:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2 #查看docker stats占用两容器之间的通信commit镜像层镜像层不可改变,上面的容器层才是用户改变的,就像tomcat是镜像层,而里面运行的项目源码就是容器层docker commit 提交容器成为一个新的副本 #命令和git类似 docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[tag] #相当于一个快照
2023年03月03日
809 阅读
0 评论
0 点赞