首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏实战docker

    修改,编译,GDB调试openjdk8源码(docker环境下)

    在上一章《在docker上编译openjdk8》里,我们在docker容器内成功编译了openjdk8源码,有没有读者朋友产生过这个念头:“能不能修改openjdk源码,构建一个与众不同的jdk“,今天我们就来阅读一些 centos7_build_openjdk8目录,执行 docker build -t bolingcavalryopenjdk:0.0.1 . 准备工作: 在容器内通过vim看源码是很不方便的,所以我这里是在电脑上复制了一份openjdk的源码(下载地址:http://www.java.net/download/openjdk/jdk8/ promoted/b132/openjdk-8-src-b132-03_mar_2014.zip ),用sublime text3打开openjdk源码,真正到了要修改的时候再去docker容器里通过 输出到自动生成的java源码中的; 既然已经读懂了源码,现在该亲自动手实践一下啦,这里我们做两个改动,记得是在docker容器中用vi工具去改: 修改Version.java.template文件,让java

    2.2K90发布于 2018-01-04
  • 来自专栏技术杂记

    Docker 基础8

    system/docker.service. docker.service docker.service ● ├─docker.socket ● ├─system.slice ● └─basic.target ● ├─firewalld.service docker.socket Requires=docker.socket [Service] Type=notify ExecStart=/usr/bin/docker daemon -H fd:/ [Unit] Description=Docker Socket for the API PartOf=docker.service [Socket] ListenStream=/var/run/docker.sock ll /var/run/docker.sock srw-rw---- 1 root docker 0 Jan 20 11:21 /var/run/docker.sock [root@h103 ~]#

    36010编辑于 2022-02-09
  • 来自专栏自动化、性能测试

    Docker8)- docker search 命令详解

    作用 从 Docker Hub 查找镜像 语法格式 docker search [OPTIONS] TERM options 说明 option 作用 -f, --filter filter 根据提供的

    65110发布于 2020-11-11
  • 来自专栏编程从踩坑到跳坑

    Windows下Clion结合docker调试openjdk8源码

    原理是通过Docker编译openjdk,然后结合clion通过gdbserver远程调试 环境需求 Clion Docker 我测试的版本 Docker for windows : Docker version git cd build-openjdk-8 docker build -t build-openjdk-8 . 运行 docker run -it --name build-openjdk-8 -p 1234:1234 build-openjdk-8 1234端口用于gdbserver 这个非常重要!!! 总结 步骤 1. git clone https://e.coding.net/javalistcn/openjdk/build-openjdk-8.git 2. cd build-openjdk-8 3. docker build -t build-openjdk-8 . 4. cd jdk-jdk8-b120/ 5. sed -i '67d' hotspot/make/linux/makefiles

    1.7K10发布于 2021-01-20
  • 来自专栏跟我一起学 K8s

    Docker源码解读

    由于github网站速度太慢,可以采用码云上的代码路径: moby:https://gitee.com/mirrors/moby.git 开启Docker学习之路,需要脚踏实地,从源码开始;网上也有一些关于 Docker源码的学习的资料,但是分析的源码都是比较老的版本,所以这里就班门弄斧一下,将自己学习Docker的总结一下,也是方便自己复习; Goland代码配置: 在GOPATH的目录下:src/github.com /docker/: git clone https://gitee.com/mirrors/moby.git 然后在Goland中添加对应的目录:

    1.3K10发布于 2020-04-26
  • 来自专栏程序人生 阅读快乐

    Docker源码分析

    本书是一本引导读者深入了解Docker实现原理的技术普及读物,主要目标是通过对Docker架构和源代码的详细讲解和解剖,帮助读者对Docker的底层实现有一个全面的理解。 作者通过大量的流程图和代码片段对Docker的架构、Docker的重要模块,特别是对Swarm、Machine和Compose这三个模块进行了详细介绍和深度剖析,无论是Docker的使用者还是开发者,通过阅读此书都可以对 Docker有更深刻的理解,能够更好的使用或者开发Docker

    56920发布于 2018-10-10
  • 来自专栏算法之美

    Docker源码分析(一):Docker架构

    文章来源: InfoQ推出了《Docker源码分析》系列文章。 Google在今年六月份推出了Kubernetes,提供Docker容器的调度服务,而今年8月Microsoft宣布Azure上支持Kubernetes,随后传统虚拟化巨头VMware宣布与Docker 本系列文章从源码的角度出发,详细介绍Docker的架构、Docker的运行以及Docker的卓越特性。本文是Docker源码分析系列的第一篇­­­——Docker架构篇。 的源码并不是一个枯燥的过程,反而可以从中理解Docker架构的设计原理。 ,加载安装至Docker容器指定的文件目录下; (8) 若以上操作全部正常执行,没有返回错误或异常,则Docker Client收到Docker Server返回状态之后,发起第二次HTTP请求。

    2.1K140发布于 2018-04-13
  • 来自专栏技术杂记

    Docker Registry8

    再次尝试push 报错1 [root@h103 ~]# docker push h104:5000/ubuntu The push refers to a repository [h104:5000/ubuntu 20527 [root@h103 ~]# 根据官网的解释和方法,我没有成功处理 官网的解释如下: 原因是没有加入证书或证书不被信任,解决办法是从证书入手 有三种方式可以解决: 1.买一个SSL证书 2.配置docker 忽视指定registry的安全 DOCKER_OPTS="--insecure-registry myregistrydomain.com:5000" ,然后重启客户端 3.导入自签名证书,让docker 最后的解决办法是将registry删除重建,问题就没再出现了 可能原因: 所以,我猜测可能是(当时)我构建这个registry的过程中环境变量配置错误了 ---- 报错234 [root@h103 ~]# docker for 192.168.100.104 because it doesn't contain any IP SANs [root@h103 ~]# 原因是证书中没有指定IP [root@h103 ~]# docker

    30610编辑于 2022-01-21
  • 来自专栏技术杂记

    Docker Swarm 基础8

    /high_wright a6a0adaa76a8 swarm "/swarm manage -H :40" About an hour /jenkins01 71de3ba93794 registry:2 "/bin/registry /etc/d" 8 weeks ago : 3.10.0-327.4.4.el7.x86_64 Operating System: linux CPUs: 4 Total Memory: 6.09 GiB Name: a6a0adaa76a8 /high_wright a6a0adaa76a8 swarm "/swarm manage -H :40" About an hour : 3.10.0-327.4.4.el7.x86_64 Operating System: linux CPUs: 4 Total Memory: 6.09 GiB Name: a6a0adaa76a8

    47110编辑于 2021-11-29
  • 来自专栏Kubernetes

    docker volume源码分析

    这是在docker v1.10.3版本的使用过程中,使用convoy 作为volume driver,在一次docker volume remove失败时,使我不得不对docker volume 的源码做一次分析 当时考虑是 docker 缓存没有及时清理的问题,于是得去分析下相关代码。 ##docker volume create源码分析: ? 如果此时,convoy和docker daemon缓存信息不同步,则create操作不能如愿了。 ##docker volume remove源码分析: ? 如果此时convoy 中volume数据和docker daemon 缓存中volume数据不一致,也不会得到纠正。 ##docker volume list源码分析: ? 之后docker再收到删除该volume的请求时,docker会调用convoy删除,而convoy中已经没有这个volume了,于是向docker返回失败的信息,因而docker也返回失败。

    1.4K60发布于 2018-04-13
  • 来自专栏Java架构师必看

    spring源码分析8

    spring源码分析8 强烈推介IDEA2020.2破解激活,IntelliJ

    32510发布于 2021-04-13
  • 来自专栏IT当时语_青山师_JAVA技术栈

    CentOS8安装Docker

    CentOS8安装Docker步骤 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 问题: package docker-ce el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed 解析: CentOS8安装 providers can be installed centos8默认使用podman代替docker,所以需要containerd.io. -1.2.6-3.3.fc30.x86_64.rpm 再安装docker yum install docker-ce 或者执行前面的 curl -fsSL https://get.docker.com docker-ce-cli 启动docker systemctl start docker systemctl enable docker docker -v

    1.2K10编辑于 2023-05-05
  • 来自专栏全栈程序员必看

    CentOS 8 Docker离线安装

    CentOS 8 Docker安装 一、将安装包上传至服务器 二、安装Docker 1、安装包介绍 containerd.io-1.3.7-3.1.el8.x86_64.rpm —- 容器服务 docker-ce -19.03.13-3.el8.x86_64.rpm —- docker服务 docker-ce-cli-19.03.13-3.el8.x86_64.rpm — docker 客户端 其他为拓展包/依赖包 x86_64.rpm 安装docker-ce yum install docker-ce-19.03.13-3.el8.x86_64.rpm 安装docker-ce-cli yum install docker-ce-cli -19.03.13-3.el8.x86_64.rpm 启动docker systemctl start docker docker主要安装了客户端 运行指令:docker –version 就会显示版本信息 -3.el8.x86_64.rpm —- 用于漏洞检测 libcgroup-0.41-19.el8.x86_64.rpm — docker依赖包(可以不安装) libseccomp-2.5.1-1.el8

    5.8K20编辑于 2022-11-09
  • 来自专栏Netkiller

    CentOS 8 - dnf 安装 docker

    强制使用一个架构安装包 -------------- 安装软件库 [root@localhost ~]# dnf config-manager --add-repo=https://download.docker.com /linux/centos/docker-ce.repo Adding repo from: https://download.docker.com/linux/centos/docker-ce.repo 安装 docker [root@localhost ~]# dnf install -y docker-ce 启动 docker [root@localhost ~]# systemctl enable docker [root@localhost ~]# systemctl start docker 卸载 docker [root@localhost ~]# dnf -y remove docker-engine.x86 _64 [root@localhost ~]# rm -rf /var/lib/docker

    4.1K20发布于 2020-03-19
  • 来自专栏Java技术栈

    Java 8 终于支持 Docker

    作者 | Grzegorz Kocur 原文:https://blog.softwaremill.com/docker-support-in-new-java-8-finally-fd595df0ca54 出品 | CSDN,译者 | 苏本如,责编 | 屠敏 Java 8 过去一直与 Docker 无法很好地兼容,现在可让开发者们奔走相告的是,这个问题已经解决了。 这里描述的对Docker的支持在Oracle Java SE 开发工具包(JDK)版本8的更新191中被引入。 你是否曾经经历过在Docker中运行基于JVM的应用程序时出现“随机”故障?或者一些奇怪的死机?两者都有可能是由于Java 8(它仍然被广泛使用)中的糟糕的Docker支持引起。 好消息是:对Docker的支持还被向后移植到Java 8。让我们运行下面人命令来检查标记为8u212的最新openjdk 镜像。

    6.7K31发布于 2019-05-29
  • 来自专栏微信公众号【Java技术江湖】

    Java 8 终于支持 Docker

    Java 8曾经与Docker无法很好地兼容性,现在问题已消失。 注意:我在本文中使用采用GNU GPL v2许可证的OpenJDK官方docker映像。 Oracle在2019年4月更改了Java 8更新的许可证,自Java SE 8 Update 211以来商业使用不再免费。 你是否遇到过在docker中运行的基于JVM的应用程序出现“随机”故障? 两者都可能是Java 8(仍广泛使用的)中糟糕的docker支持引起的。 Docker使用控制组(cgroups)来限制资源。 新的Java版本(10及以上版本)已经内置了docker支持功能。但有时升级不是办法,比如说如果应用程序与新JVM不兼容就不行。 好消息:Docker支持还被向后移植到Java 8。 不妨检查标记为8u212的最新openjdk映像。我们将内存限制为1G,并使用1个CPU:docker run -ti --cpus 1 -m 1G openjdk:8u212-jdk。

    1.9K21发布于 2019-10-21
  • 来自专栏MyTechnology

    Centos8安装Docker

    yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine 安装yum-utils软件包(提供yum-config-manager 实用程序)并设置稳定的存储库 安装最新版本的Docker Engine和容器,Centos8跳过看下面 yum install docker-ce docker-ce-cli containerd.io 我是Centos8.1的, -1.2.6-3.3.el7.x86_64.rpm yum install docker-ce docker-ce-cli 启动docker systemctl start docker 查看版本 docker

    3.3K41发布于 2020-07-31
  • 来自专栏golang算法架构leetcode技术php

    golang 源码分析(16):Docker CE 18.03源码

    比如是否设置了"always"呀 ├── runconfig ├── vendor # go的vendor机制 └── volume # volume相关 负责存储配置的一般都叫 xx Store Docker 的设计是单机的,不是分布式的 Docker的设计是Client-Server模式的,平时我们用的docker这个命令被分散到 https://github.com/docker/cli 这个仓库去了 从命令行进入 入口在 cmd/dockerd/docker.go: func newDaemonCommand() *cobra.Command { opts := newDaemonOptions FullTimestamp: true, }) // LCOW: Linux Containers On Windows. ref: https://blog.docker.com 那我们要找一个新的入口点去跟踪 代码,所以我选择 docker run。从 docker/cli 库翻了翻,发现最后是调用 containers/create 这样一个接口。

    62220编辑于 2022-08-02
  • 来自专栏Go语言指北

    拿捏docker+k8s系列--docker容器

    -d :以后台的方式启动 --name : 为启动的容器命名 docker ps 查看 Docker host中当前运行的容器 -a :显示所有状态的容器 进入容器 docker attach 使用 docker docker start 重新启动 对于处于停止状态的容器,可以通过 docker start 命令重新启动。docker start 会保留容器的第一次启动时的所有参数。 docker rm 可以一次性指定多个容器,例如,删除所有已经停止的容器: docker rm $(docker ps -a -q) -v :删除与容器关联的卷。 ❝注意:docker rm 是删除容器,docker rmi 是删除镜像 ❞ docker create 创建容器 可以先创建容器(docker create),稍后再启动(docker start) docker create 创建的容器处于 Created 状态 docker start 将以后台方式启动容器 docker run 命令 = docker create + docker start

    82130编辑于 2022-05-24
  • 来自专栏Go语言指北

    拿捏docker+k8s系列--docker存储

    ❝「Source 就是该 volume 在 host 上的目录」 当容器申 请 mount docker manged volume 时,docker 都会在var/lib/docker/volumes 下生成一个目录(如:/var/lib/docker/volumes/b3ed2d6d09750f5b8ef4ea613ba38f2511ba1c122ff3db339a061c0ed0d6d41d/_ docker managed 在执行docker rm 删除容器时使用 -v 参数,docker会将容器使用到的 volume 一起删除,「前提是该 volume 没有其他容器使用」,这样可以做到对数据的保护 docker volume create :创建一个卷 docker volume inspect :显示一个或多个卷的详细信息 docker volume ls :列出卷 docker volume 手动挂载目录 docker managed volume :docker 启动时自动生成目录 docker volume 命令:管理卷 docker inspect 命令:查看容器的配置信息 图片及部分相关技术知识点来源于网络搜索

    87620编辑于 2022-05-24
领券