概要
Windows10にDocker環境を構築したのでいろいろ試してみた
今回はDocker コンテナの元となるイメージのダウンロード、アップロードなどDockerをインストールして最初にやることのコマンド一覧とまとめ
DockerとDockerイメージの関連は以下を参照
動作環境とDocker環境構築方法は以下を参照
- Windows 10 Pro 64bit
- Docker for Windows
できるようになること
- 自分のローカルマシンにDocker Hubから欲しいイメージをダウンロード
- 自分のイメージをDocker Hubにアップロード
およその作業時間
30分
事前準備
Docker HubにイメージをアップロードするためにDocker Hubのアカウントが必要
(自分のローカルマシンにイメージをダウンロードするだけなら不要)
アカウントは以下のページで作成可能
任意のID、メールアドレス、パスワードを登録するだけでアカウント作成できる
参考書籍
プログラマのためのDocker教科書 第3章
わかりやすくてDockerの入門書的な良本です^^
みんな購入していて売れ行き好調なのか第2版が発売されていたのでリンク更新
使用コマンド一覧
docker pull イメージ名:タグ名
docker images
docker inspect イメージ名
docker tag 元のイメージ名:タグ名 ユーザ名/イメージ名:タグ名
docker search イメージ名
docker rmi イメージ名
docker login
docker push ユーザ名/イメージ名:タグ名
docker logout
docker pull イメージ名:タグ名
Docker Hubからイメージをダウンロードするコマンド
タグ名は任意項目
イメージ名:タグ名 でタグ名にバージョンが指定できるが指定しないと最新をダウンロードする
pullだけであればDocker Hubのアカウントは不要(もちろんログインも不要)
> docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
50aff78429b1: Pull complete
f6d82e297bce: Pull complete
275abb2c8a6f: Pull complete
9f15a39356d6: Pull complete
fc0342a94c89: Pull complete
Digest: sha256:ec0e4e8bf2c1178e025099eed57c566959bb408c6b478c284c1683bc4298b683
Status: Downloaded newer image for ubuntu:latest
docker images
ローカルマシンにダウンロードしているイメージの一覧を表示するコマンド
> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 00fd29ccc6f1 2 weeks ago 111MB
主要項目の説明は以下の通り
- REPOSITORY イメージ名
- TAG タグ名(通常はバージョン)
- IMAGE ID イメージID
- CREATED 作成日
docker inspect イメージ名
イメージの詳細を確認するコマンド
詳細情報がJSON形式で返却される
> docker inspect ubuntu
[
{
~~~省略~~~
"Architecture": "amd64",
"Os": "linux",
"Size": 110512187,
"VirtualSize": 110512187,
~~~省略~~~
docker tag 元のイメージ名:タグ名 ユーザ名/イメージ名:タグ名
ダウンロードしたイメージにわかりやすいタグを付けるコマンド
慣習的に付けるユーザ名はDocker HubのID、タグ名はバージョンが良い
> docker tag ubuntu user/server01:0.1
> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 00fd29ccc6f1 2 weeks ago 111MB
user/server01 0.1 00fd29ccc6f1 2 weeks ago 111MB
docker imagesコマンドで確認
タグを付けただけでイメージの実体は同じため同じイメージIDとなる
docker search イメージ名
Docker Hubに公開されているイメージを検索するコマンド
> docker search ubuntu
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian-based Linux operating s... 7032 [OK]
dorowu/ubuntu-desktop-lxde-vnc Ubuntu with openssh-server and NoVNC 153 [OK]
主要項目の説明は以下の通り
- NAME イメージ名
- STARS お気に入り数
- OFFICIAL 公式イメージだと[OK]となる
- AUTOMATED Dockerfileをもとに自動生成されたイメージだと[OK]となる
Dockerfileについては別の機会に投稿予定、、、
注意
docker search などDocker Hubに接続するコマンド(docker pull/docker login/docker searchなど)で以下のエラーが出た場合はDockerのNetworkのDNS設定をFixedに変更してみる
Error response from daemon: Get https://index.docker.io/v1/search?q=ubutu&n=25: dial tcp: lookup index.docker.io on 192.168.1.1:XX: read udp 192.168.2.2:XXXXX->192.168.11.1:XX: i/o timeout
Settingsの開き方は以下を参照
WindowsでDocker環境を試してみる
docker rmi イメージ名
ダウンロードしたイメージを削除するコマンド
> docker rmi user/server01:0.1
Untagged: user/server01:0.1
docker login
Docker HubにID/パスワードでログインするコマンド
> 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: IDxxx
Password:
Login Succeeded
docker push ユーザ名/イメージ名:タグ名
Docker Hubに指定したイメージをアップロードするコマンド
> docker push user/server01:0.1
The push refers to a repository [docker.io/user/server01]
f17fc24fb8d0: Layer already exists
6458f770d435: Layer already exists
5a876f8f1a3d: Layer already exists
d2f8c05d353b: Layer already exists
48e0baf45d4d: Layer already exists
0.1: digest: sha256:f871d0805ee3ce1c52b0608108dbdf1b447a34d22d5c7278a3a9dd78fc12c663 size: 1357
注意
Docker Hubにpullする場合は、イメージのユーザ名とDocker HubのIDが一致しないと以下のエラーが発生する
> docker push user/server01:0.1
The push refers to a repository [docker.io/user/server01]
f17fc24fb8d0: Preparing
6458f770d435: Preparing
5a876f8f1a3d: Preparing
d2f8c05d353b: Preparing
48e0baf45d4d: Preparing
denied: requested access to the resource is denied
user部分をdocker tagコマンドでDocker HubのIDに変更して再度pushすればOK
docker logout
Docker Hubからログアウトするコマンド
> docker logout
Removing login credentials for https://index.docker.io/v1/