江苏省建设局网站证件查询wordpress 流量监控
- 作者: 五速梦信息网
- 时间: 2026年03月21日 10:39
当前位置: 首页 > news >正文
- docker: Error response from daemon: failed to create shim task: OCI runtime create failed: unable to retrieve OCI runtime error (open /run/containerd/io.containerd.runtime.v2.task/moby/ad47b82ed6d9d6daafb5b079694c2bc5af0fd0f4607711a0b28eb52c3d8cbf0f/log.json: no such file or directory): runc did not terminate successfully: exit status 127: runc: symbol lookup error: runc: undefined symbol: seccomp_api_get
unknown. 这时报错了大致意思就是runc出问题了那我们就来看下runc输入runc或者runc -v回车 runc 这时报了这个错通过网上查找原因是没有安装libseccomp-devel runc: symbol lookup error: runc: undefined symbol: seccomp_api_get 2.3.3安装libseccomp-devel yum install libseccomp-devel 一般装完libseccomp-devel就行了我另一台服务器装libseccomp-devel报了另一个错说libseccomp版本太低导致libseccomp-devel不能装最新的那么就给他更新下 如果libseccomp-devel能正常安装就不用执行这个了 yum update libseccomp 安装完libseccomp-devel用runc -v查看runc的状态 然后用最开始的docker run指令创建并运行容器 docker ps可以查看当前启动的容器docker ps -a可以查看所有容器包括新创建和未启动的那些 2.4docker容器的简单使用 docker start 容器名启动docker容器docker stop 容器名停止docker容器docker restart 容器名重启docker容器docker exec -it 容器名 执行命令进入到docker容器内 前三个没啥好说的第四个举个栗子如下-i 展示容器输入信息STDIN-t 命令行交互模式alpine执行/bin/shcentos执行/bin/bash docker exec -it demo1 /bin/sh 这个样子就是进到容器内部了docker容器就是个服务器你在你宿主机上能做的事里面都能做 玩腻了想出来就输入exit出来 exit 3.运行java文件 3.1使用dockerfile运行java文件 3.1.1创建dockerfile 首先创建个文件夹并进入用cp命令将要运行的jar包复制过来 接着用vi创建dockerfile文件并写入内容 mkdir /usr/local/docker-tmp2 cd /usr/local/docker-tmp2 cp /usr/local/docker-tmp/demo1.jar /usr/local/docker-tmp2/demo1.jar vi demo2.dockerfile dockerfile里的内容
使用的基础镜像
FROM java:openjdk-8u111-jre-alpine
将java文件拷进docker容器第一个路径是宿主机路径第二个是docker容器内路径文件最好放在dockerfile同级或子级路径
ADD demo1.jar /usr/local/demo1.jar
开放的端口
EXPOSE 8091
容器运行后执行的命令这里用CMD也行
ENTRYPOINT [java,-jar,/usr/local/demo1.jar] 3.1.2通过dockerfile创建docker镜像 写好dockerfile文件后用docker build创建docker镜像 -f 指定用于生成镜像的dockerfile文件 -t 给新创建的镜像命名可以直接是名字或者加冒号冒号后加版本号 最后的空格和点“ .”一定要加dockerfile构建镜像时是以docker引擎中展开的构建上下文中的文件最后的点是指定镜像构建过程中的上下文环境为当前目录像demo1.jar指的就是当前目录下的demo1.jar docker build -f demo2.dockerfile -t java-project:1.0 . 3.1.3通过docker镜像创建容器 docker run -itd –name demo3 -p 8091:8091 java-project:1.0 /bin/sh 我的java项目用的是8091端口这里将容器的8091端口映射到宿主机的8091端口上了这时就可以通过访问宿主机的8091端口的方式来访问java项目了 访问不到可能是宿主机端口没开自己开下 3.2麻烦的集聚各种冷门知识的运行java项目方法 这个是我用2.4的方法创建容器后想怎么用现有容器改造成自启java的容器研究了很多东西得出来的方法虽然能用但是没必要但是学到了很多docker的知识倒是真的憨实基础有用只是为了运行java没必要 3.2.1将jar包拷到容器内 继续用2.4创建的容器来运行java 首先把jar包拷进去 方法一用docker cp命令 docker cp 宿主机文件路径 docker容器名:docker容器路径 如果容器内的目录不存在要先进去创建目录 docker exec -it demo1 /bin/sh mkdir /usr/local/web exit docker cp /usr/local/web/demo1.jar demo1:/usr/local/web/demo1.jar 方法二找到挂在路径直接传进去 通过docker inspect找到MergedDir目录这是docker容器在宿主机上存储空间的挂载点所以在宿主机上的这个目录和docker容器内是互通传到宿主机这个目录内就等于放到docker容器里了 docker inspect demo1 3.2.2修改容器启动时执行的命令 先关掉docker不然修改容器配置无效 systemctl stop docker 先要找到docker容器的配置文件还是用docker inspect这次找ResolvConfPath复制到文件夹那层resolv.conf不用 docker inspect demo1 进入到目录中用vi打开config.v2.json文件 Path可执行文件Args执行参数Cmd启动容器时会执行的命令如果用户启动容器时候指定了运行的命令则会覆盖掉CMD指定的命令Entrypoint启动容器时会执行的命令如果用户启动容器时候指定了运行的命令不会被docker run执行的命令参数覆盖。追加效果docker run命令之后的参数会被当做参数传递给ENTRYPOINT之后形成新的命令组合这里只是做docker容器启动时自启java项目用Cmd或者Entrypoint都行 我们执行java -jar /usr/local/web/demo1.jar这里可执行文件是java-jar和/usr/local/web/demo1.jar是执行java的参数所以做如下配置修改完成后保存文件 保存后启动docker服务然后查看容器配置这时启动容器后就会自动运行java文件了可通过映射的端口访问测试 systemctl start docker docker start demo1 docker inscept demo1 访问不到可能是宿主机端口没开自己开下
- 上一篇: 江苏省建设工程招投标网站企业建站业务还能做吗
- 下一篇: 江苏省建设考试网站松原网站制作
相关文章
-
江苏省建设工程招投标网站企业建站业务还能做吗
江苏省建设工程招投标网站企业建站业务还能做吗
- 技术栈
- 2026年03月21日
-
江苏省建设工程考试网站北海网站建设网络公司
江苏省建设工程考试网站北海网站建设网络公司
- 技术栈
- 2026年03月21日
-
江苏省华建建设股份有限公司网站凡科登录入口app下载
江苏省华建建设股份有限公司网站凡科登录入口app下载
- 技术栈
- 2026年03月21日
-
江苏省建设考试网站松原网站制作
江苏省建设考试网站松原网站制作
- 技术栈
- 2026年03月21日
-
江苏省建设厅副厅长网站长沙计算机培训机构排名前十
江苏省建设厅副厅长网站长沙计算机培训机构排名前十
- 技术栈
- 2026年03月21日
-
江苏省建设厅工会网站wordpress 图片剪裁
江苏省建设厅工会网站wordpress 图片剪裁
- 技术栈
- 2026年03月21日
