You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
arthas/en/docker.html

379 lines
15 KiB
HTML

6 years ago
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
5 years ago
<title>Docker &mdash; Arthas 3.4.1 documentation</title>
6 years ago
<link rel="shortcut icon" href="_static/favicon.ico"/>
6 years ago
<script type="text/javascript" src="_static/js/modernizr.min.js"></script>
6 years ago
6 years ago
<script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="_static/language_data.js"></script>
<script type="text/javascript" src="_static/js/theme.js"></script>
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/overrides.css" type="text/css" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
5 years ago
<link rel="next" title="Arthas Spring Boot Starter" href="spring-boot-starter.html" />
5 years ago
<link rel="prev" title="Http API" href="http-api.html" />
5 years ago
<script>
if (window.location.href.startsWith("https://alibaba.github.io/arthas/")) {
window.location.href = "https://arthas.aliyun.com/doc/" + window.location.href.substr("https://alibaba.github.io/arthas/".length);
}
</script>
6 years ago
<script src="_static/center_page.js"></script>
5 years ago
<link rel="stylesheet" href="https://g.alicdn.com/code/lib/highlight.js/9.13.1/styles/github.min.css">
6 years ago
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
6 years ago
<div class="wy-side-nav-search" >
6 years ago
<a href="index.html" class="icon icon-home"> Arthas
</a>
<div class="version">
5 years ago
3.4.1
6 years ago
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<ul class="current">
5 years ago
<li class="toctree-l1"><a class="reference external" href="https://arthas.aliyun.com/">Home</a></li>
5 years ago
<li class="toctree-l1"><a class="reference external" href="https://arthas.aliyun.com/doc/arthas-tutorials.html?language=en">Online tutorials(Recommend)</a></li>
6 years ago
<li class="toctree-l1"><a class="reference internal" href="install-detail.html">Installation</a></li>
6 years ago
<li class="toctree-l1"><a class="reference internal" href="download.html">Download</a></li>
6 years ago
<li class="toctree-l1"><a class="reference internal" href="quick-start.html">Quick start</a></li>
<li class="toctree-l1"><a class="reference internal" href="advanced-use.html">Advanced usage</a></li>
<li class="toctree-l1"><a class="reference internal" href="commands.html">Commands</a></li>
6 years ago
<li class="toctree-l1"><a class="reference internal" href="web-console.html">WebConsole</a></li>
5 years ago
<li class="toctree-l1"><a class="reference internal" href="http-api.html">Http API</a></li>
6 years ago
<li class="toctree-l1 current"><a class="current reference internal" href="#">Docker</a><ul>
5 years ago
<li class="toctree-l2"><a class="reference internal" href="#use-jdk-in-docker">Use JDK in Docker</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#use-public-jdk-image">Use public JDK image</a></li>
<li class="toctree-l3"><a class="reference internal" href="#install-via-package-management-software">Install via package management software</a></li>
</ul>
</li>
6 years ago
<li class="toctree-l2"><a class="reference internal" href="#quick-start-with-docker">Quick start with Docker</a></li>
<li class="toctree-l2"><a class="reference internal" href="#diagnose-the-java-process-in-docker">Diagnose the Java process in Docker</a></li>
<li class="toctree-l2"><a class="reference internal" href="#diagnose-the-java-process-in-the-container-in-k8s">Diagnose the Java process in the container in k8s</a></li>
<li class="toctree-l2"><a class="reference internal" href="#install-arthas-into-the-base-docker-image">Install Arthas into the base Docker image</a></li>
</ul>
</li>
5 years ago
<li class="toctree-l1"><a class="reference internal" href="spring-boot-starter.html">Arthas Spring Boot Starter</a></li>
5 years ago
<li class="toctree-l1"><a class="reference internal" href="idea-plugin.html">IDEA Plugin</a></li>
6 years ago
<li class="toctree-l1"><a class="reference external" href="https://github.com/alibaba/arthas/issues?q=label%3Auser-case">User cases</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/alibaba/arthas/issues?q=label%3Aquestion-answered">Questions and answers</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/alibaba/arthas">Fork me at GitHub</a></li>
6 years ago
<li class="toctree-l1"><a class="reference external" href="https://github.com/alibaba/arthas/blob/master/CONTRIBUTING.md#">Compile and debug/CONTRIBUTING</a></li>
6 years ago
<li class="toctree-l1"><a class="reference external" href="https://github.com/alibaba/arthas/releases">Release Notes</a></li>
5 years ago
<li class="toctree-l1"><a class="reference internal" href="contact-us.html">Contact us</a></li>
6 years ago
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="index.html">Arthas</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html">Docs</a> &raquo;</li>
<li>Docker</li>
<li class="wy-breadcrumbs-aside">
<a href="https://github.com/alibaba/arthas/blob/master/site/src/site/sphinx/en/docker.md" class="fa fa-github"> Edit on GitHub</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="docker">
6 years ago
<h1>Docker<a class="headerlink" href="#docker" title="Permalink to this headline"></a></h1>
5 years ago
<div class="section" id="use-jdk-in-docker">
<h2>Use JDK in Docker<a class="headerlink" href="#use-jdk-in-docker" title="Permalink to this headline"></a></h2>
<p>Many times, the problem that arthas cant work with the application in docker is because the docker does not install JDK, but installs JRE. If only JRE is installed, many JAVA command line tools and class libraries will be missing, and Arthas will not work properly. Here are two common ways to use JDK in Docker.</p>
<div class="section" id="use-public-jdk-image">
<h3>Use public JDK image<a class="headerlink" href="#use-public-jdk-image" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li><p>https://hub.docker.com/_/openjdk/</p></li>
</ul>
<p>such as:</p>
<div class="highlight-default notranslate"><pre class="literal-block">FROM openjdk:8-jdk</pre>
</div>
<p>or:</p>
<div class="highlight-default notranslate"><pre class="literal-block">FROM openjdk:8-jdk-alpine</pre>
</div>
</div>
<div class="section" id="install-via-package-management-software">
<h3>Install via package management software<a class="headerlink" href="#install-via-package-management-software" title="Permalink to this headline"></a></h3>
<p>such as:</p>
<div class="highlight-bash notranslate"><div class="highlight hljs"><pre class="bash"># Install OpenJDK-8
RUN apt-get update &amp;&amp; \
apt-get install -y openjdk-8-jdk &amp;&amp; \
apt-get install -y ant &amp;&amp; \
apt-get clean;
# Fix certificate issues
RUN apt-get update &amp;&amp; \
apt-get install ca-certificates-java &amp;&amp; \
apt-get clean &amp;&amp; \
update-ca-certificates -f;
# Setup JAVA_HOME - useful for docker commandline
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
RUN export JAVA_HOME</pre></div>
</div>
<p>or:</p>
<div class="highlight-bash notranslate"><div class="highlight hljs"><pre class="bash">RUN yum install -y \
java-1.8.0-openjdk \
java-1.8.0-openjdk-devel
ENV JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk/
RUN export JAVA_HOME</pre></div>
</div>
</div>
</div>
6 years ago
<div class="section" id="quick-start-with-docker">
6 years ago
<h2>Quick start with Docker<a class="headerlink" href="#quick-start-with-docker" title="Permalink to this headline"></a></h2>
6 years ago
<ol>
6 years ago
<li><p>Delete the existing <code class="docutils literal notranslate"><span class="pre">arthas-demo</span></code> docker container (not necessary)</p>
<div class="highlight-sh notranslate"><div class="highlight hljs"><pre class="sh">$ docker stop arthas-demo || true &amp;&amp; docker rm arthas-demo || true</pre></div>
6 years ago
</div>
</li>
6 years ago
<li><p>Start <code class="docutils literal notranslate"><span class="pre">arthas-demo</span></code></p>
<div class="highlight-sh notranslate"><div class="highlight hljs"><pre class="sh">$ docker run --name arthas-demo -it hengyunabc/arthas:latest /bin/sh -c &quot;java -jar /opt/arthas/arthas-demo.jar&quot;</pre></div>
6 years ago
</div>
</li>
6 years ago
<li><p>Start <code class="docutils literal notranslate"><span class="pre">arthas-boot</span></code> for diagnosis</p>
6 years ago
<div class="highlight-sh notranslate"><div class="highlight hljs"><pre class="sh">$ docker exec -it arthas-demo /bin/sh -c &quot;java -jar /opt/arthas/arthas-boot.jar&quot;
* [1]: 9 jar
[INFO] arthas home: /opt/arthas
[INFO] Try to attach process 9
[INFO] Attach process 9 success.
[INFO] arthas-client connect 127.0.0.1 3658
,---. ,------. ,--------.,--. ,--. ,---. ,---.
/ O \ | .--. &#x27;&#x27;--. .--&#x27;| &#x27;--&#x27; | / O \ &#x27; .-&#x27;
| .-. || &#x27;--&#x27;.&#x27; | | | .--. || .-. |`. `-.
| | | || |\ \ | | | | | || | | |.-&#x27; |
`--&#x27; `--&#x27;`--&#x27; &#x27;--&#x27; `--&#x27; `--&#x27; `--&#x27;`--&#x27; `--&#x27;`-----&#x27;
5 years ago
wiki: https://arthas.aliyun.com/doc
6 years ago
version: 3.0.5
pid: 9
6 years ago
time: 2018-12-18 11:30:36</pre></div>
6 years ago
</div>
</li>
</ol>
</div>
<div class="section" id="diagnose-the-java-process-in-docker">
6 years ago
<h2>Diagnose the Java process in Docker<a class="headerlink" href="#diagnose-the-java-process-in-docker" title="Permalink to this headline"></a></h2>
5 years ago
<div class="highlight-sh notranslate"><div class="highlight hljs"><pre class="sh">docker exec -it ${containerId} /bin/bash -c &quot;wget https://arthas.aliyun.com/arthas-boot.jar &amp;&amp; java -jar arthas-boot.jar&quot;</pre></div>
6 years ago
</div>
</div>
<div class="section" id="diagnose-the-java-process-in-the-container-in-k8s">
6 years ago
<h2>Diagnose the Java process in the container in k8s<a class="headerlink" href="#diagnose-the-java-process-in-the-container-in-k8s" title="Permalink to this headline"></a></h2>
5 years ago
<div class="highlight-sh notranslate"><div class="highlight hljs"><pre class="sh">kubectl exec -it ${pod} --container ${containerId} -- /bin/bash -c &quot;wget https://arthas.aliyun.com/arthas-boot.jar &amp;&amp; java -jar arthas-boot.jar&quot;</pre></div>
6 years ago
</div>
</div>
<div class="section" id="install-arthas-into-the-base-docker-image">
6 years ago
<h2>Install Arthas into the base Docker image<a class="headerlink" href="#install-arthas-into-the-base-docker-image" title="Permalink to this headline"></a></h2>
6 years ago
<p>Its easy to install Arthas into your Docker image.</p>
<div class="highlight-default notranslate"><pre class="literal-block">FROM openjdk:8-jdk-alpine
# copy arthas
COPY --from=hengyunabc/arthas:latest /opt/arthas /opt/arthas</pre>
</div>
6 years ago
<p>If you want to specify a version, you can view all the tags:</p>
<p><a class="reference external" href="https://hub.docker.com/r/hengyunabc/arthas/tags">https://hub.docker.com/r/hengyunabc/arthas/tags</a></p>
6 years ago
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
5 years ago
<a href="spring-boot-starter.html" class="btn btn-neutral float-right" title="Arthas Spring Boot Starter" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
5 years ago
6 years ago
5 years ago
<a href="http-api.html" class="btn btn-neutral float-left" title="Http API" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
6 years ago
</div>
<hr/>
<div role="contentinfo">
<p>
5 years ago
&copy; Copyright 2018-2020, Alibaba Middleware Group, and contributors
6 years ago
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
6 years ago
6 years ago
<div class="github-fork-ribbon-wrapper right">
<div class="github-fork-ribbon">
6 years ago
<a href="https://github.com/alibaba/arthas" target="_blank">Fork me at GitHub</a>
6 years ago
</div>
</div>
<script type="text/javascript" src="_static/add_badges.js"></script>
5 years ago
<script src="https://g.alicdn.com/code/lib/highlight.js/9.13.1/highlight.min.js"></script>
<script src="https://g.alicdn.com/code/lib/highlightjs-line-numbers.js/2.5.0/highlightjs-line-numbers.min.js"></script>
6 years ago
<script>
document.querySelectorAll('div.hljs > pre').forEach(function(block) {
hljs.highlightBlock(block);
hljs.lineNumbersBlock(block);
});
</script>
5 years ago
<script type="text/javascript">document.write(unescape("%3Cspan style='display:none;' id='cnzz_stat_icon_1279151497'%3E%3C/span%3E%3Cscript src='https://s4.cnzz.com/z_stat.php%3Fid%3D1279151497' type='text/javascript'%3E%3C/script%3E"));</script>
5 years ago
6 years ago
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
5 years ago
hm.src = "https://hm.baidu.com/hm.js?d5c5e25b100f0eb51a4c35c8a86ea9b4";
6 years ago
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
5 years ago
6 years ago
</body>
</html>