たまたま諸事情でMacOS上でCentOSを動かしたいなあと思い、すでにMacOS上に導入していたDockerをつかってみました。(なのですでにDockerがMacOS上に導入されていることが前提となっています。)
Docker上にCentOSを導入・起動した後で、Docker上のCentOS(bash)にアクセスし、MacOS 上のファイルをCentOSにコピーするところまでやってみましたので、記録として残しておきます。
1.Docker Hubにログインする
以下のとおり「docker login」コマンドでDocker Hubにログインします。
% docker login Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one. Username: <ユーザ名> Password:<パスワード> Login Succeeded Logging in with your password grants your terminal complete access to your account. For better security, log in with a limited-privilege personal access token. Learn more at https://docs.docker.com/go/access-tokens/
2.CentOSのイメージがあるか探す
Docker HubにCentOSのイメージがあるか「docker search 」コマンドで探します。
docker search centos
コマンドの実行結果は以下の通りとなります。
どうやらOFFICIAL欄が[OK]となっていれば、イメージが存在するようです。
3.CentOSのイメージを引っ張ってくる
「docker pull」コマンドを使い、Docker HubからCentOSのイメージをダウンロードします。
% docker pull centos Using default tag: latest latest: Pulling from library/centos a1d0c7532777: Pull complete Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177 Status: Downloaded newer image for centos:latest docker.io/library/centos:latest
4.CentOSイメージが取得できたか確認する
「docker image」コマンドを使い、CentOSのイメージが取得できたか確認します。
% docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 12766a6745ee 3 months ago 142MB centos latest 5d0da3dc9764 9 months ago 231MB
5.CentOSを起動する
「docker run 」コマンドを使い、CentOS を起動します。
なおこのときに-it -d –nameを引数として使っていますが、以下の意味らしいです。
-it : i は –interactive、tはttyを指している
-d :detouchの意味でバックグラウンドでコンテナを起動する
-name:この後に起動する「コンテナ名」と「コンテナイメージ」を指定する
また起動したかどうかは「docker ps」コマンドで確認できます。
以下、実行例です。
% docker run -it -d --name centos centos e6adb5a6a86d3c2682f64e064ba4d7e93624d493c48575c12305ae9e09319654 % docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e6adb5a6a86d centos "/bin/bash" 7 seconds ago Up 6 seconds centos 1bee05eeb204 centos:latest "/bin/bash" 3 minutes ago Up 3 minutes condescending_banach
6.CentOSに乗り込めることを確認する
「docker exec」コマンドでCentOS上のbashにアクセスすることができます。
アクセスできることを確認したら、「exit」でbashから抜けます。
% docker exec -it centos /bin/bash [root@e6adb5a6a86d /]# [root@e6adb5a6a86d /]# pwd [root@e6adb5a6a86d /]# cd tmp [root@e6adb5a6a86d tmp]# [root@e6adb5a6a86d tmp]# exit exit
7.MacOS上のファイルのCentOSにコピーする
「docker cp」コマンドを利用すれば、MacOS上のファイルのCentOSにコピーできます。
以下はMacOSのカレントディレクトリ配下のファイルを、CentOSの/tmpディレクトリにコピーする例です。
% docker cp ./<ファイル名> centos:/tmp
以上、参考になれば幸いです。
<参考サイト>
・Docker Hubの使い方とGitHubからのDockerイメージ自動ビルド(@IT)
https://atmarkit.itmedia.co.jp/ait/articles/1408/26/news038.html
・DockerでCentOSを起動する(Qiita)
https://qiita.com/Gowldinq/items/1a3b31d0ae5792d3132b
・docker runの[ i, t, d ]オプションの意味を調べた(Qiita)
https://qiita.com/tacotopas/items/93dfcaa9f4dd6cfe0b95
コメントを残す