docker-imageの基本操作(III)
2022-03-03 07:29:34
docker-mirrorの基本操作(III)
ミラーの一覧表示
シンタックス
docker images [OPTSIONS][REPOSITROY]
-a,all=flase
-f,--filter=[]
--no-trunc=false
-q,--quite=flase
を実行して、ローカルホストのミラーを一覧表示します。
runoob@runoob:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 90d5884b1ee0 5 days ago 188 MB
php 5.6 f40e9e0f10c8 9 days ago 444.8 MB
nginx latest 6f8d099c3adc 12 days ago 182.7 MB
mysql 5.6 f2e8d6c772c0 3 weeks ago 324.6 MB
httpd latest 02ef73cf1bc0 3 weeks ago 194.4 MB
ubuntu 15.10 4e3b13c8a266 4 weeks ago 136.3 MB
hello-world latest 690ed74de00f 6 months ago 960 B
training/webapp latest 6fae60ef3446 11 months ago 348.8 MB
各オプションの説明。
REPOSITORY: indicates the repository source of the mirror
TAG: the label of the mirror
IMAGE ID: mirror ID
CREATED: mirror creation time
SIZE: mirror size
同じリポジトリソースでも、異なるバージョンを表す複数のTAGを持つことができます。例えば、ubuntuのリポジトリソースでは、15.10、14.04など異なるバージョンが存在します。REPOSITORY:TAGを使用して、異なるミラーを定義します。
そこで、バージョン15.10のubuntuシステムイメージでコンテナを実行したい場合、コマンドは次のようになります。
runoob@runoob:~$ docker run -t -i ubuntu:15.10 /bin/bash
バージョン14.04のubuntuシステムイメージでコンテナを実行する場合、コマンドは以下のようになります。
runoob@runoob:~$ docker run -t -i ubuntu:14.04 /bin/bash
イメージのバージョンタグを指定しない場合、例えばubuntuとだけ指定した場合、Dockerはubuntu:latestイメージをデフォルトで使用します。
インスタンスです。
ビューミラー、IMAGE IDの表示が不完全な場合
[root@izwz93cxtzylaaouqzjj4sz docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/ubuntu latest 2a4cca5ac898 37 hours ago 111.5 MB
docker.io/centos latest ff426288ea90 8 days ago 207.2 MB
画像を表示し、IMAGE IDを完全に表示します。
[root@izwz93cxtzylaaouqzjj4sz ~]# docker images --no-trunc
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/ubuntu latest sha256:2a4cca5ac898476c2c47a8d6a17102e00241d6fa377fbe4d50787fe3d7a8d4d6 37 hours ago 111.5 MB
docker.io/centos latest sha256:ff426288ea903fcf8d91aca97460c613348f7a27195606b45f19ae91776ca23d 8 days ago 207.2 MB
ミラーの詳細を見る
docker inspect [OPTIONS]CONTAINER|IMAGE[CONTAINER|IMGAE...]
[root@izwz93cxtzylaaouqzjj4sz ~]# docker inspect centos:latest
doker rmi [OPTIONS]IMAGE[IMAGE...]
-f,--force=false Force removal of the image
--no-prune=flase do not delete untagged parents
ミラーの削除
シンタックス
[root@izwz93cxtzylaaouqzjj4sz ~]# docker rmi -f ubuntu:latest
Untagged: ubuntu:latest
Untagged: docker.io/ubuntu@sha256:55c3bcbe279b387e344c3e8dddec74115dbb3b4f4c91f97f4d1827e2ab9aba17
Deleted: sha256:2a4cca5ac898476c2c47a8d6a17102e00241d6fa377fbe4d50787fe3d7a8d4d6
インスタンス
[root@izwz93cxtzylaaouqzjj4sz ~]# docker rmi $(docker images ubuntu -q)
"docker rmi" requires at least 1 argument(s).
See 'docker rmi --help'.
Usage: docker rmi [OPTIONS] IMAGE [IMAGE...]
Remove one or more images
すべてのミラーを削除します。
docker search [OPTIONS] TERM
--automated=false Only show automated builds
--no-trunc=false Don't rtruncate output
-s,--starts=0 Onlry displays with at least x stars
Returns up to 25 results
画像の取得とプッシュ
ミラーを探す
構文
[root@izwz93cxtzylaaouqzjj4sz ~]# docker search ubuntu
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/ubuntu Ubuntu is a Debian-based Linux operating s... 7115 [OK]
docker.io docker.io/dorowu/ubuntu-desktop-lxde-vnc Ubuntu with openssh-server and NoVNC 157 [OK]
docker.io docker.io/rastasheep/ubuntu-sshd Dockerized SSH service, built on top of of... 127 [OK]
docker.io docker.io/ansible/ubuntu14.04-ansible Ubuntu 14.04 LTS with ansible 90 [OK]
docker.io docker.io/ubuntu-upstart Upstart is an event-based replacement for ... 80 [OK]
docker.io docker.io/neurodebian NeuroDebian provides neuroscience research... 41 [OK]
..........................
インスタンス
すべてのミラーを検索
[root@izwz93cxtzylaaouqzjj4sz ~]# docker search -s 3 ubuntu
Flag --stars has been deprecated, use --filter=stars=3 instead
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/ubuntu Ubuntu is a Debian-based Linux operating s... 7115 [OK]
docker.io docker.io/dorowu/ubuntu-desktop-lxde-vnc Ubuntu with openssh-server and NoVNC 157 [OK]
docker.io docker.io/rastasheep/ubuntu-sshd Dockerized SSH service, built on top of of... 127 [OK]
星3つ以上のミラーを探す
docker pull [iptions] name[:TAG]
-a, --all-tags=false Download all tagged images in the repository
画像の引き込み
シンタックス
[root@izwz93cxtzylaaouqzjj4sz ~]# docker images -a
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/centos latest ff426288ea90 8 days ago 207.2 MB
[root@izwz93cxtzylaaouqzjj4sz ~]# docker pull ubuntu:14.04
Trying to pull repository docker.io/library/ubuntu ...
14.04: Pulling from docker.io/library/ubuntu
556ab54f6580: Pull complete
6ca8fd6ef32a: Pull complete
e64a7e7a2b21: Pull complete
09ed7c05bfd3: Pull complete
ec1faacd6fd9: Pull complete
Digest: sha256:f0cc0848fdadb4ae7341028a21f894df7cc2ab56e2bfe162850cbd602234d9a4
[root@izwz93cxtzylaaouqzjj4sz ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/ubuntu 14.04 02a63d8b2bfa 40 hours ago 221.7 MB
docker.io/centos latest ff426288ea90 8 days ago 207.2 MB
The above process is very slow, what is the solution? Use the --registry-mirror option
1. Modify /etc/default/docker
2. Add DOCKER_OPTS= "--registry-mirror=http://MIRROR-ADDR" MIRROR-ADDR optional:www.daoclod.io或者阿里云镜像镜像加速
3. Restart docker's daemon service docker restart
インスタンス
ubuntu:14.04を引っ張る
docker push NAME[:TAG]
1. Save changes to containers and use them again
2. The ability to customize images
3. Package and distribute services and their runtime environments as software
画像をプッシュする
構文
Way I:
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] // build via container
Parameters:
-a,-author="" Author
-m,--message="" commit message
-p,pause=ture Pause container during commit
Way 2:
docker build [OPTIONS] PATH |URL |- // Build via Dockerfile file
Parameters:
--force-rm=false
--no-cache=false
--pull=false
--q,--quiet=false
--rm=true
-t,--tag=""
インスタンス
docker は全体をコミットするのではなく、変更した部分のみをコミットします。
イメージのビルド
[root@izwz93cxtzylaaouqzjj4sz ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
295e5cfea561 ubuntu "/bin/bash" 2 minutes ago Exited (127) About a minute ago commit_test
[root@izwz93cxtzylaaouqzjj4sz ~]# docker commit -a 'jackzhu' -m 'hellowrold' commit_test 435999799/commit_test1
sha256:0f6cb6231b80269cffeaf71ce05236399f1d8f91f293bb699a9516935dc74392
[root@izwz93cxtzylaaouqzjj4sz ~]# docker images;
REPOSITORY TAG IMAGE ID CREATED SIZE
435999799/commit_test1 latest 0f6cb6231b80 27 seconds ago 111.5 MB
docker.io/ubuntu latest 2a4cca5ac898 43 hours ago 111.5 MB
docker.io/ubuntu 14.04 02a63d8b2bfa 43 hours ago 221.7 MB
docker.io/centos latest ff426288ea90 8 days ago 207.2 MB
docker.io/ubuntu 12.10 3e314f95dcac 3 years ago 172 MB
シンタックス
runoob@runoob:~$ cat Dockerfile
FROM centos:6.7
MAINTAINER Fisher "[email protected]"
RUN /bin/echo 'root:123456' |chpasswd
RUN useradd runoob
RUN /bin/echo 'runoob:123456' |chpasswd
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE 22
EXPOSE 80
CMD /usr/sbin/sshd -D
Each directive creates a new layer on the mirror
Each directive must be prefixed with an uppercase
FROM, specifies which mirror source to use
The RUN directive tells docker to execute commands inside the mirror
インスタンス
runoob@runoob:~$ docker build -t runoob/centos:6.7 .
Sending build context to Docker daemon 17.92 kB
Step 1 : FROM centos:6.7
---> d95b5ca17cc3
Step 2 : MAINTAINER Fisher "[email protected]"
---> Using cache
---> 0c92299c6f03
Step 3 : RUN /bin/echo 'root:123456' |chpasswd
---> Using cache
---> 0397ce2fbd0a
Step 4 : RUN useradd runoob
Dockerfileを使ったイメージの構築
最初のDockerfileを作成する
runoob@runoob:~$ cat Dockerfile
FROM centos:6.7
MAINTAINER Fisher "[email protected]"
RUN /bin/echo 'root:123456' |chpasswd
RUN useradd runoob
RUN /bin/echo 'runoob:123456' |chpasswd
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE 22
EXPOSE 80
CMD /usr/sbin/sshd -D
Each directive creates a new layer on the mirror
Each directive must be prefixed with an uppercase
FROM, specifies which mirror source to use
The RUN directive tells docker to execute commands inside the mirror
次に、Dockerfile ファイルを使用して、docker build コマンドでイメージを構築します。
runoob@runoob:~$ docker build -t runoob/centos:6.7 .
Sending build context to Docker daemon 17.92 kB
Step 1 : FROM centos:6.7
---> d95b5ca17cc3
Step 2 : MAINTAINER Fisher "[email protected]"
---> Using cache
---> 0c92299c6f03
Step 3 : RUN /bin/echo 'root:123456' |chpasswd
---> Using cache
---> 0397ce2fbd0a
Step 4 : RUN useradd runoob
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ハートビート・エフェクトのためのHTML+CSS
-
HTML ホテル フォームによるフィルタリング
-
HTML+cssのボックスモデル例(円、半円など)「border-radius」使いやすい
-
HTMLテーブルのテーブル分割とマージ(colspan, rowspan)
-
ランダム・ネームドロッパーを実装するためのhtmlサンプルコード
-
Html階層型ボックスシャドウ効果サンプルコード
-
QQの一時的なダイアログボックスをポップアップし、友人を追加せずにオンラインで話す効果を達成する方法
-
sublime / vscodeショートカットHTMLコード生成の実装
-
HTMLページを縮小した後にスクロールバーを表示するサンプルコード
-
html のリストボックス、テキストフィールド、ファイルフィールドのコード例