首页
关于
推荐
搜索定位器
视频解码
电源计划
软件资源
博客友链
搜索
1
开源软件:m3u8.sqlite文件转视频工具
986 阅读
2
欢迎来到我的世界
753 阅读
3
iKuai+Openwrt实现虚拟WAN分流,再也不用担心旁路网关崩了影响全局网络
689 阅读
4
AI:ChatGPT,假如你是Java架构师
662 阅读
5
开源软件:Windows网络驱动器管理工具
629 阅读
资料整理
软件发布
世新家装
萌宠乐园
登录
搜索
标签搜索
Docker
CentOS7
开源软件
Jenkins
MySQL
JVM
世新家装
ZStack
Java
Spring
Shell脚本
docker-compose
iKuai
ESXi
Bean
BeanDefinition
小太阳鹦鹉
欢迎
C#
WPF
卖萌小老头
累计撰写
51
篇文章
累计收到
8
条评论
首页
栏目
资料整理
软件发布
世新家装
萌宠乐园
页面
关于
推荐
搜索定位器
视频解码
电源计划
软件资源
博客友链
搜索到
51
篇与
卖萌小老头
的结果
2022-09-13
Dockerfile的使用
Dockerfile是什么?Dockerfile就是镜像描述文件Dockfile作用通过Dockerfile文件构建一个属于自己的镜像为什么使用Dockerfile构建镜像呢?官方镜像确实足够好,适用于大多数应用程序,但是如果我们想构建属于自己的业务镜像,这个时候就必须自定义镜像如何通过Dockerfile构建自己的镜像在指定位置创建一个Dockerfile文件编写Dockerfile相关语句Dockerfile语法(指令说明简洁版)指令描述FROM当前镜像基于哪个镜像(第一指令必须是FROM)MAINTAINER镜像维护者姓名或邮箱地址RUN构建镜像时运行的指令CMD运行容器时执行的shell环境VOLUME指定容器挂载点到宿主机自动生成的目录或其他容器USER为RUN、CMD、和 ENTRYPOINT 执行命令指定运行用户WORKDIR为 RUN、CMD、ENTRYPOINT、COPY 和 ADD 设置工作目录,就是切换目录HEALTHCHECH健康检查ARG构建时指定的一些参数EXPOSE声明容器的服务端口(仅仅是声明)ENV设置容器环境变量ADD拷贝文件或目录到容器中,如果是URL或压缩包便会自动下载或自动解压COPY拷贝文件或目录到容器中,跟ADD类似,但不具备自动下载或解压的功能ENTRYPOINT运行容器时执行的shell命令CMD & ENTRYPOINT都是用来指定容器启动时默认执行指令。注意:CMD指令可以存在多个,但是存在多个时只有最优一个生效使用1、直接使用命令方式java -jar demo.jar2、json数组(推荐方式)["java", "-jar", "demo.jar"]区别1、CMD命令里,在运行容器时,进行覆盖:docker run 镜像:版本号 {覆盖自定义命令};例如:docker run demo:1 ls /2、ENTRYPOINT命令里,在运行容器时,进行覆盖:docker run --entrypoint={覆盖命令} 镜像:版本号 {传递参数};例如:docker run --entrypoint=ls 镜像:版本号 /总结ENTRYPOINT 用来书写一个容器固定的指令CMD用来给ENTRYPOINT传递参数注意:配合使用时必须使用json数组语法例如:FROM java:8 WORKDIR /apps ... ENTRYPOINT ["ls"] CMD ["/apps"]那么启动时就可以指定CMD通过Dockerfile构建镜像docker build -t 镜像名称:版本 .(指定Dockerfile文件所在位置)Dockerfile构建镜像流程
2022年09月13日
298 阅读
0 评论
0 点赞
2022-09-12
Docker高级数据卷配置
Docker高级数据卷配置数据卷 Volume用来实现宿主机和容器之间文件、目录映射同步数据卷使用 -v 宿主机路径:容器内路径注意:必须在容器首次启动时指定# 使用绝对路径数据卷 docker run -v /data/jenkins:/var/local/jenkins_home ... # 使用别名方式的数据卷 docker run -v {jenkins}:/var/local/jenkins_home ...注意:{jenkins}代表一个数据卷别名,这个数据别名可以存在,也可以不存在,不存时容器首次启动时自动创建。第一次使用别名时,将容器中原始数据保留下来使用绝对路径方式不会保留容器中的原始数据别名到底是什么别名代表一个Docker自身维护的数据卷查看所有docker维护的数据卷docker volume ls查看数据卷详细内容docker inspect 数据卷别名 注意: 如果容器、网桥、数据卷三个名称有重复时,需要指定查看的是网桥还是数据卷(优先级:容器 > 网桥 > 数据卷) 例如: docker network inspect 网桥名称 docker volume inspect 数据卷名称删除一个指定的数据卷docker volume rm 数据卷别名创建一个别名数据卷docker volume create 数据卷别名
2022年09月12日
264 阅读
0 评论
0 点赞
2022-09-12
Docker自定义网桥实现网桥中一组容器的通信
Docker网桥类型NETWORK IDNAMEDRIVERSCOPE2131d4f7e974bridgebridgelocal66blec4da510hosthostlocal083782eb8f99nonenulllocal创建网络白定义桥# 默认不加-d bridge 也是这个 docker network create -d bridge(默认) 网络名称查看网路docker network ls查看某一个网络细节docker network inspect 网络名称删除一个网络# 删除指定网络名称的网络 docker network rm 网络名 # 删除所有未被用到网络名 docker network prune运行多个容器在指定网络中# 启动容器时明确指定容器使用那个网络 docker run -d --network 网络名称 ... # 启动之后容器加入到某个网络中 docker network connect 网络名称 容器id(name)
2022年09月12日
300 阅读
0 评论
0 点赞
2022-09-11
Docker磁盘空间不足的解决办法
查看Docker镜像存放目录空间大小du -hs /var/lib/docker/停止Docker服务systemctl stop docker查看磁盘容量大的空间,且在上面创建新的Docker目录# 查看剩余空间,找到合适的空间 df -h迁移/var/lib/docker目录到新的目录rsync -avz /var/lib/docker /data/更换Docker工作目录# 两种方式(二选一) # 1、编辑/etc/docker/daemon.json # 添加如下参数 { "graph": "/data/docker" } # 2、配置 /usr/lib/systemd/system/docker.service # 添加如下参数 ExecStart=/usr/bin/dockerd --graph=/data/docker重新加载Docker,并重启Docker服务systemctl daemon-reload && systemctl restart docker && systemctl enable docker检查Docker是否变更新目录docker info删掉Docker旧目录rm -rf /var/lib/docker常见docker清理方法:docker system df 类似于Linux上的df命令,用于查看Docker的磁盘使用情况:docker system prune 可以用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)。docker system prune -a 清理得更加彻底,可以将没有容器使用Docker镜像都删掉。注意,这两个命令会把你暂时关闭的容器,以及暂时没有用到的Docker镜像都删掉了…所以使用之前一定要想清楚.。我没用过,因为会清理 没有开启的 Docker
2022年09月11日
318 阅读
0 评论
0 点赞
2022-09-11
更新Docker的Jenkins版本
下载最新版的war包wget https://mirrors.aliyun.com/jenkins/war/latest/jenkins.war查看老版本的war地址manage Jenkins → system information → executable-war更新war包# 进入容器 docker exec -it jenkins bash # 删除旧版war rm -rf /usr/share/jenkins/jenkins.war # 退出容器 exit # 拷贝新版的war到容器 docker cp ./jenkins.war jenkins:/usr/share/jenkins # 进入docker容器 # 修改war权限 chown jenkins:jenkins /usr/share/jenkins/jenkins.war # 退出容器重启Jenkins容器docker restart jenkins
2022年09月11日
269 阅读
0 评论
0 点赞
2022-09-08
Jenkins部署NodeJS工程Shell脚本
nodejs项目打包部署shell脚本#!/bin/bash #1.2.3.4.5需要根据不同项目修改不同值 #1.项目名称 APP_NAME=cloud-mall-admin-front #2.启动dev配置文件 CONFIG_NAME=dev #3.端口 PORT=8000 #4.工作路径 WORK_DIR=/var/jenkins_home/workspace/$APP_NAME echo "项目名称:$APP_NAME" echo "编译配置:$CONFIG_NAME" echo "服务端口:$PORT" echo "工作路径:$WORK_DIR" echo "安装依赖并编译>>>>>>" # 设置淘宝源 yarn config set registry http://registry.npm.taobao.org/ # 安装依赖 yarn install # 编译 yarn build:$CONFIG_NAME #在$WORK_DIR文件夹下创建Dockerfile文本文件 echo "创建Dockerfile文本文件" touch $WORK_DIR/Dockerfile #写入Dockerfile echo "写入Dockerfile文本内容" cat >>$WORK_DIR/Dockerfile<<EOF FROM node:14.18.1-alpine RUN mkdir -p /app WORKDIR /app COPY . . RUN yarn install ENV HOST 0.0.0.0 EXPOSE $PORT CMD [ "yarn", "serve" ] EOF # 清理容器和镜像 echo "清理$APP_NAME的容器" containerId=$(docker ps -a | grep -w $APP_NAME | awk '{print $1}') if [ -n "$containerId" ]; then docker stop $containerId docker rm $containerId echo "成功停止、删除容器" fi imageld=$(docker images | grep -w $APP_NAME | awk '{print $3}') if [ -n "$imageld" ]; then docker rmi -f $imageld echo "成功删除镜像" fi echo "停止并清除镜像完成,进入创建新镜像过程" echo "切换到工作路径$WORK_DIR" #切换到$WORK_DIR创建镜像文件夹目录下 cd $WORK_DIR echo "执行命令创建新镜像" #执行docker创建镜像命令 docker build -t $APP_NAME . #删除Dockerfile文本文件 echo "删除Dockerfile文件" rm $WORK_DIR/Dockerfile #运行镜像 docker run -d \ --restart=always \ --name $APP_NAME \ -p $PORT:$PORT \ $APP_NAME echo "运行新镜像,流程完毕,端口号为:$PORT"
2022年09月08日
335 阅读
0 评论
0 点赞
1
...
6
7
8
9