<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Docker  |  鉄駆ブログ</title>
	<atom:link href="https://ichi-station.com/tag/docker/feed/" rel="self" type="application/rss+xml" />
	<link>https://ichi-station.com</link>
	<description></description>
	<lastBuildDate>Tue, 28 Jun 2022 15:24:41 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1.5</generator>

<image>
	<url>https://ichi-station.com/wp-content/uploads/2022/04/cropped-blog-favicon512x512-4-32x32.png</url>
	<title>Docker  |  鉄駆ブログ</title>
	<link>https://ichi-station.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>M1 MacでDockerのMySQLコンテナが立ち上がらない問題の解消法</title>
		<link>https://ichi-station.com/docker-mysql-for-m1-mac/</link>
					<comments>https://ichi-station.com/docker-mysql-for-m1-mac/#respond</comments>
		
		<dc:creator><![CDATA[いっちー]]></dc:creator>
		<pubDate>Sat, 15 May 2021 08:15:04 +0000</pubDate>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[M1 Mac]]></category>
		<category><![CDATA[Mysql]]></category>
		<guid isPermaLink="false">https://ichi-station.com/?p=2067</guid>

					<description><![CDATA[こんにちは。いっちー(@tetestkake_blog)です！ 話題のM1 Macを買ってみたはいいものの、MySQLコンテナが立ち上がらない問題に遭遇しました。 しばらく調べたうちに解決することができたので、この記事で [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>こんにちは。いっちー(@<a rel="noopener" href="https://twitter.com/tetsukake_blog" target="_blank">tetestkake_blog</a>)です！</p>



<p>話題のM1 Macを買ってみたはいいものの、MySQLコンテナが立ち上がらない問題に遭遇しました。</p>



<p>しばらく調べたうちに解決することができたので、この記事では<span class="marker-under-red">MySQLコンテナが立ち上がらない問題の</span><span class="marker-under-red">解消法</span>を紹介します。</p>



<div class="wp-block-cocoon-blocks-caption-box-1 caption-box block-box has-border-color has-amber-border-color"><div class="caption-box-label block-box-label box-label fab-check"><span class="caption-box-label-text block-box-label-text box-label-text">結論だけ知りたい人向け</span></div><div class="caption-box-content block-box-content box-content">
<ul><li><span class="marker-under-red">platformをlinux/x86_64と指定</span>することでM1 MacでもMySQLコンテナを使用することが可能になる！</li></ul>
</div></div>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2"><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">MySQLコンテナを起動するとエラーが発生</a></li><li><a href="#toc2" tabindex="0">Docker公式リファレンスを確認</a></li><li><a href="#toc3" tabindex="0">解消法</a><ol><li><a href="#toc4" tabindex="0">Dockerコマンド</a></li><li><a href="#toc5" tabindex="0">Dockerfile</a></li><li><a href="#toc6" tabindex="0">Docker Compose</a></li></ol></li><li><a href="#toc7" tabindex="0">最後に</a><ol><li><a href="#toc8" tabindex="0">参考リファレンス</a></li><li><a href="#toc9" tabindex="0">Docker関連おすすめ書籍</a></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">MySQLコンテナを起動するとエラーが発生</span></h2>



<p>M1 Macを購入した際、MySQLコンテナを立ち上げると以下のエラーに遭遇しました。</p>



<pre class="wp-block-code"><code>$ docker run -d -e MYSQL_ROOT_PASSWORD=password mysql:8.0
Unable to find image 'mysql:8.0' locally
8.0: Pulling from library/mysql
docker: no matching manifest for linux/arm64/v8 in the manifest list entries.
See 'docker run --help'.</code></pre>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-12 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://ichi-station.com/wp-content/uploads/2022/01/illust0131_02_アートボード-3.jpg" alt="いっちー" class="speech-icon-image"/></figure><div class="speech-name">いっちー</div></div><div class="speech-balloon">
<p>「no matching manifest for linux/arm64/v8 in the manifest list entries」 !??</p>



<p>何が起きたんだ&#8230;!?</p>
</div></div>



<h2><span id="toc2">Docker公式リファレンスを確認</span></h2>



<p>Docker公式<a rel="noopener" href="https://matsuand.github.io/docs.docker.jp.onthefly/docker-for-mac/apple-silicon/" data-type="URL" data-id="https://matsuand.github.io/docs.docker.jp.onthefly/docker-for-mac/apple-silicon/" target="_blank">リファレンス</a>を確認します。</p>



<p>公式によると、CPUアーキテクチャの違いからMySQLのイメージM1 Macでは現状利用できないと書いてあります。</p>



<blockquote class="wp-block-quote"><p>ARM64アーキテクチャー向けのイメージがすべて利用可能となっているわけではありません。 Intelイメージの実行には、エミュレーションのもとで<code>--platform linux/amd64</code>をつけて実行することが必要です。 特にmysqlイメージは ARM64 向けには利用できません。 これに対する当面の対処としてはmariadbイメージを利用してください。</p><cite>https://matsuand.github.io/docs.docker.jp.onthefly/docker-for-mac/apple-silicon/</cite></blockquote>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-12 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://ichi-station.com/wp-content/uploads/2022/01/illust0131_02_アートボード-3.jpg" alt="いっちー" class="speech-icon-image"/></figure><div class="speech-name">いっちー</div></div><div class="speech-balloon">
<p>公式にはmariadbイメージを利用してくださいとあります。</p>



<p>なんとかMySQLを使い続けることはできないものか。。。</p>
</div></div>



<h2><span id="toc3">解消法</span></h2>



<p>公式リファレンスをよく読んだら、「エミュレーションのもとで<code>--platform linux/amd64</code>をつけて実行することが必要です」と記述があったので、</p>



<p>この方法で挑戦してみると見事コンテナが立ち上がりました！</p>



<h3><span id="toc4">Dockerコマンド</span></h3>



<p>オプションにてplatformを指定します。</p>



<pre class="wp-block-code"><code>docker run -d --platform linux/x86_64 -e MYSQL_ROOT_PASSWORD=password mysql:8.0</code></pre>



<h3><span id="toc5">Dockerfile</span></h3>



<p>FROMにてplatformを指定します。</p>



<pre class="wp-block-code"><code>FROM --platform=linux/x86_64 mysql:8.0
# 以下省略</code></pre>



<h3><span id="toc6">Docker Compose</span></h3>



<p>platform: linux/x86_64を追加します。</p>



<pre class="wp-block-code"><code>version: '3'
services:
  sample-db:
    image: mysql:8.0
    # for m1 mac
    platform: linux/x86_64
    # 以下省略</code></pre>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-12 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://ichi-station.com/wp-content/uploads/2022/01/illust0131_02_アートボード-3.jpg" alt="いっちー" class="speech-icon-image"/></figure><div class="speech-name">いっちー</div></div><div class="speech-balloon">
<p>上記の記述を追記するとコンテナが起動できる様になります！</p>
</div></div>



<h2><span id="toc7">最後に</span></h2>



<p>platformをlinux/x86_64と指定することで、M1 MacにてMySQLコンテナを使用することが可能になります。</p>



<p>公式がmariadbを使用してくださいとアナウンスしているのでベストではないかもしれませんが、</p>



<p>MySQLコンテナはM1 Macでも使用することができそうです。</p>



<h3><span id="toc8">参考リファレンス</span></h3>



<ul><li>Docker Desktop for Apple silicon<ul><li><a rel="noopener" href="https://matsuand.github.io/docs.docker.jp.onthefly/docker-for-mac/apple-silicon/" target="_blank">https://matsuand.github.io/docs.docker.jp.onthefly/docker-for-mac/apple-silicon/</a></li></ul></li><li>M1Mac環境でDockerのMySQLを動かす<ul><li><a rel="noopener" href="https://qiita.com/toyoyuto618/items/f225e1b2ab22ca5adf33" target="_blank">https://qiita.com/toyoyuto618/items/f225e1b2ab22ca5adf33</a></li></ul></li><li>Docker ドキュメント日本語化プロジェクト<ul><li><a rel="noopener" href="https://docs.docker.jp/index.html" target="_blank">https://docs.docker.jp/index.html</a></li></ul></li></ul>



<h3><span id="toc9">Docker関連おすすめ書籍</span></h3>



<ul><li>初級者<ul><li><a rel="noopener" href="https://amzn.to/3ysMPMZ" data-type="URL" data-id="https://amzn.to/3ysMPMZ" target="_blank">仕組みと使い方がわかる Docker&amp;Kubernetesのきほんのきほん</a></li></ul></li><li>中級者以上<ul><li><a rel="noopener" href="https://amzn.to/3Ak6GOT" data-type="URL" data-id="https://amzn.to/3Ak6GOT" target="_blank">Docker実践ガイド 第2版</a></li></ul></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://ichi-station.com/docker-mysql-for-m1-mac/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
