自分だけのクイズを作成しよう - Quipha
スポンサーリンク

【Docker Desktop】Macにインストール【Monterey/M1】

Docker

当サイトではアフィリエイト広告を利用しています。

スポンサーリンク

はじめに

みなさんDockerを使っていますか?
環境をさくっと用意できるのは便利ですよね!

今回はMacにDockerをインストールします。
現時点で最新のmacOSであるMontereyで、M1チップのMacを使い手順を解説します。

他にも私のブログで、Dockerについて解説している記事がありますのでご覧ください。

使用するバージョン
  • macOS Monterey (M1)
  • Docker Desktop for Mac 4.7.0

WindowsにDockerをインストールする手順は、以下の記事をご覧ください。

スポンサーリンク

【紹介】個人開発

Mac向けの、定型文の挿入も可能なクリップボード履歴管理アプリです。
Windows版は以前からありましたが、基本的な使い方はMac版も同じですので、もしよかったらダウンロードしてみてください。

  • Xcode
  • Swift 5
  • SwiftUI
  • Realm Database
  • Appleによる公証済み

Docker Desktopの有料化

2021年9月、Docker Desktopは、条件を満たした利用について有料になりました。
個人はこれまで通り無料で利用できますが、企業での利用は注意ですね。

Docker Desktopは、スモールビジネス(従業員数250名未満かつ年間売上高1000万ドル未満(訳注:1ドル110円換算で11億円))、個人利用、教育機関、非商用のオープンソースプロジェクトであれば、引き続き無料でご利用いただけます。

https://www.publickey1.jp/blog/21/docker_desktop250100011.html
Docker Desktopが有料化へ、ただし250人未満かつ年間売り上げ1000万ドル(約11億円)未満の組織や個人やオープンソースプロジェクトでは引き続き無料で利用可能
Docker社は、これまで無料で提供してきたDocker Desktopの有料化を発表しました。 We're updating and extending our product subscriptions! New subscri...

ダウンロード

Mac用のDockerデスクトップをインストールします。

以下のページより、Docker Desktop for Macをダウンロードします。

Install Docker Desktop on Mac
Install Docker for Mac to get started. This guide covers system requirements, where to download, and instructions on how...

今回はM1チップのMacのため、「Mac with Apple chip」をクリックし、インストーラをダウンロードします。

スポンサーリンク

インストール

ダウンロードしたDocker.dmgをダブルクリックします。

Dockerアイコンをアプリケーションフォルダにドラッグします。

アプリケーションフォルダのDocker.appを起動します。

警告が表示されますが、「開く」を選択します。

アクセス権限を与える必要があり、OKボタンをクリックしパスワードを入力します。

Dockerの規約画面が表示されます。
確認し、問題なければ「Accept」ボタンをクリックします。

基本的にはDocker Desktop 4.3.0からRosetta2は不要ですが、既知の問題があるようです。
一部のコマンドラインツールは、Rosetta2がインストールされていない場合は機能しないとのことで、インストールしておくと良いでしょう。

Install Docker Desktop on Mac
Install Docker for Mac to get started. This guide covers system requirements, where to download, and instructions on how...

ターミナルから以下のコマンドで、Rosetta2の手動インストールができます。

% softwareupdate --install-rosetta

ちなみに、アクティビティモニタからDockerを確認すると、M1チップで動作していることが分かります。

Docker Desktop起動

Dockerが正常に起動すると以下の画面が表示されます。

ターミナルを起動し、「docker ps」というコマンドを実行します。
以下のような表示になれば、まずは正常に動作しています。

xxx@xxx ~ % docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

Dockerイメージのダウンロードと起動

これでDockerの準備ができました。
コンテナが一つもありませんので、試しに表示されているコンテナを起動してみましょう。

以下のコマンドをターミナルから実行します。

% docker run -d -p 80:80 docker/getting-started

ブラウザを起動して、以下のURLを開きます。

http://localhost/

Getting Started画面が表示されました。
これはコンテナ上のサーバーのページにアクセスしていることになります。

Docker Desktopを見てみましょう。作成したコンテナが一覧に表示されます。

コンテナ名は、「cool_neumann」になっていますが、ランダムに作成される名前です。

次に、Pythonイメージをダウンロードしてみましょう。
ターミナルから以下のようにコマンドを実行します。

% docker pull python

「docker images」でイメージがダウンロードされたか確認します。

% docker images
REPOSITORY               TAG       IMAGE ID       CREATED      SIZE
python                   latest    be775cae3a0f   3 days ago   866MB

コンテナを起動します。
「pytest」は名前ですので任意で指定してください。

docker run -it --name pytest python /bin/bash

rootでログインしているような状態になります。

root@329db1d355f3:/# 

このコンテナには何も入っていないので、とりあえずエディタを入れました。

# apt-get update
# apt-get install -y vim

「vi test.py」とコマンドを打ち、test.pyファイルを作成します。
中身はprintで文字を出力するようにしました。

print("test")

「python test.py」と入力し、Pythonが実行されることを確認します。

たったこれだけでPython環境が作れました

Docker Desktopで確認

私は基本的にDockerコマンドで操作していますが、Docker Desktop上でもコンテナを操作できます。

コンテナ一覧

コンテナの一覧が表示され、稼働状況やCLIを開いたり、停止、再起動、削除などを行うことができます。

イメージ一覧

Dockerイメージの一覧が表示されます。

このイメージからGUIで、コンテナを作成して起動することもできます。

さいごに

このようにDockerは簡単に環境を用意でき、とても便利です。
ぜひ活用しましょう。

他にも私のブログで、Dockerについて解説している記事がありますのでご覧ください。

\オススメ/
DockerMacOSツール
スポンサーリンク
この記事を共有
千草をフォローする
管理人

現役のITエンジニア。
気ままにコードや技術情報をまとめています。
Webアプリ/Windows・Macアプリ/モバイルアプリ/機械学習やIoT他。
(Java, PHP, Javascript, Swift, Python, C#, 他)
個人開発:Clibor, Quipha, TXT-Crypter
Kindle本: Laravel9 実践入門, 他

千草をフォローする
個人開発

Cliborはシンプルで高機能なクリップボード履歴ソフトです。
Mac版も公開しています。

自分だけの問題集や問題を作成し、クイズを行い学習に活用しましょう。

Mac版Cliborです。
基本的な使い方は、Windows版と同じです。

麻雀の符計算をマスターしよう。

簡単にテキストを暗号・復号でき、秘密情報を守ります。

便利なツールを公開しています。
是非、活用してください!

コメント

',b.captions&&s){var u=J("figcaption");u.id="baguetteBox-figcaption-"+t,u.innerHTML=s,l.appendChild(u)}e.appendChild(l);var c=J("img");c.onload=function(){var e=document.querySelector("#baguette-img-"+t+" .baguetteBox-spinner");l.removeChild(e),!b.async&&n&&n()},c.setAttribute("src",r),c.alt=a&&a.alt||"",b.titleTag&&s&&(c.title=s),l.appendChild(c),b.async&&n&&n()}}function X(){return M(o+1)}function D(){return M(o-1)}function M(e,t){return!n&&0<=e&&e=k.length?(b.animation&&O("right"),!1):(q(o=e,function(){z(o),V(o)}),R(),b.onChange&&b.onChange(o,k.length),!0)}function O(e){l.className="bounce-from-"+e,setTimeout(function(){l.className=""},400)}function R(){var e=100*-o+"%";"fadeIn"===b.animation?(l.style.opacity=0,setTimeout(function(){m.transforms?l.style.transform=l.style.webkitTransform="translate3d("+e+",0,0)":l.style.left=e,l.style.opacity=1},400)):m.transforms?l.style.transform=l.style.webkitTransform="translate3d("+e+",0,0)":l.style.left=e}function z(e){e-o>=b.preload||q(e+1,function(){z(e+1)})}function V(e){o-e>=b.preload||q(e-1,function(){V(e-1)})}function U(e,t,n,o){e.addEventListener?e.addEventListener(t,n,o):e.attachEvent("on"+t,function(e){(e=e||window.event).target=e.target||e.srcElement,n(e)})}function W(e,t,n,o){e.removeEventListener?e.removeEventListener(t,n,o):e.detachEvent("on"+t,n)}function G(e){return document.getElementById(e)}function J(e){return document.createElement(e)}return[].forEach||(Array.prototype.forEach=function(e,t){for(var n=0;n","http://www.w3.org/2000/svg"===(e.firstChild&&e.firstChild.namespaceURI)}(),m.passiveEvents=function i(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("test",null,t)}catch(n){}return e}(),function a(){if(r=G("baguetteBox-overlay"))return l=G("baguetteBox-slider"),u=G("previous-button"),c=G("next-button"),void(d=G("close-button"));(r=J("div")).setAttribute("role","dialog"),r.id="baguetteBox-overlay",document.getElementsByTagName("body")[0].appendChild(r),(l=J("div")).id="baguetteBox-slider",r.appendChild(l),(u=J("button")).setAttribute("type","button"),u.id="previous-button",u.setAttribute("aria-label","Previous"),u.innerHTML=m.svg?f:"<",r.appendChild(u),(c=J("button")).setAttribute("type","button"),c.id="next-button",c.setAttribute("aria-label","Next"),c.innerHTML=m.svg?g:">",r.appendChild(c),(d=J("button")).setAttribute("type","button"),d.id="close-button",d.setAttribute("aria-label","Close"),d.innerHTML=m.svg?p:"×",r.appendChild(d),u.className=c.className=d.className="baguetteBox-button",function n(){var e=m.passiveEvents?{passive:!1}:null,t=m.passiveEvents?{passive:!0}:null;U(r,"click",x),U(u,"click",E),U(c,"click",C),U(d,"click",B),U(l,"contextmenu",A),U(r,"touchstart",T,t),U(r,"touchmove",N,e),U(r,"touchend",L),U(document,"focus",P,!0)}()}(),S(e),function s(e,a){var t=document.querySelectorAll(e),n={galleries:[],nodeList:t};return w[e]=n,[].forEach.call(t,function(e){a&&a.filter&&(y=a.filter);var t=[];if(t="A"===e.tagName?[e]:e.getElementsByTagName("a"),0!==(t=[].filter.call(t,function(e){if(-1===e.className.indexOf(a&&a.ignoreClass))return y.test(e.href)})).length){var i=[];[].forEach.call(t,function(e,t){var n=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1,H(i,a),I(t)},o={eventHandler:n,imageElement:e};U(e,"click",n),i.push(o)}),n.galleries.push(i)}}),n.galleries}(e,t)},show:M,showNext:X,showPrevious:D,hide:j,destroy:function e(){!function n(){var e=m.passiveEvents?{passive:!1}:null,t=m.passiveEvents?{passive:!0}:null;W(r,"click",x),W(u,"click",E),W(c,"click",C),W(d,"click",B),W(l,"contextmenu",A),W(r,"touchstart",T,t),W(r,"touchmove",N,e),W(r,"touchend",L),W(document,"focus",P,!0)}(),function t(){for(var e in w)w.hasOwnProperty(e)&&S(e)}(),W(document,"keydown",F),document.getElementsByTagName("body")[0].removeChild(document.getElementById("baguetteBox-overlay")),w={},h=[],o=0}}})
タイトルとURLをコピーしました