我要输出我学会的Docker命令
首先
我之前发布了一篇文章。
【Docker】在CentOS 7.8的docker上启动nginx。
我想在这篇文章中输出我学到的docker命令。
命令
版本确认
docker --version
【执行案例】
[root@tspdocker yum.repos.d]# docker --version
Docker version 19.03.9, build 9d988398e7
[root@tspdocker yum.repos.d]#
图像相关
确认已获取的容器镜像
- docker image ls
docker image ls
【示例演示】
[root@tspdocker docker]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 9beeba249f3e 8 days ago 127MB
[root@tspdocker docker]#
- docker images
docker images
【执行示例】
[root@tspdocker docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 9beeba249f3e 8 days ago 127MB
[root@tspdocker docker]#
从注册表中搜索图像
docker search <イメージ名>
【示例执行】
[root@tspdocker docker]# docker search centos
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos The official build of CentOS. 6012 [OK]
ansible/centos7-ansible Ansible on Centos7 129 [OK]
consol/centos-xfce-vnc Centos container with "headless" VNC session … 115 [OK]
jdeathe/centos-ssh OpenSSH / Supervisor / EPEL/IUS/SCL Repos - … 114 [OK]
centos/mysql-57-centos7 MySQL 5.7 SQL database server 75
imagine10255/centos6-lnmp-php56 centos6-lnmp-php56 58 [OK]
tutum/centos Simple CentOS docker image with SSH access 46
centos/postgresql-96-centos7 PostgreSQL is an advanced Object-Relational … 44
kinogmt/centos-ssh CentOS with SSH 29 [OK]
pivotaldata/centos-gpdb-dev CentOS image for GPDB development. Tag names … 11
guyton/centos6 From official centos6 container with full up … 10 [OK]
nathonfowlie/centos-jre Latest CentOS image with the JRE pre-install … 8 [OK]
drecom/centos-ruby centos ruby 6 [OK]
centos/tools Docker image that has systems administration … 6 [OK]
pivotaldata/centos Base centos, freshened up a little with a Do … 4
darksheer/centos Base Centos Image -- Updated hourly 3 [OK]
pivotaldata/centos-mingw Using the mingw toolchain to cross-compile t … 3
pivotaldata/centos-gcc-toolchain CentOS with a toolchain, but unaffiliated wi … 3
miko2u/centos6 CentOS6 日本語環境 2 [OK]
blacklabelops/centos CentOS Base Image! Built and Updates Daily! 1 [OK]
mcnaughton/centos-base centos base image 1 [OK]
indigo/centos-maven Vanilla CentOS 7 with Oracle Java Developmen … 1 [OK]
pivotaldata/centos7-dev CentosOS 7 image for GPDB development 0
smartentry/centos centos with smartentry 0 [OK]
pivotaldata/centos6.8-dev CentosOS 6.8 image for GPDB development 0
[root@tspdocker docker]#
获取容器映像
docker pull <イメージ名>
【实施示例】
[root@tspdocker docker]# docker pull miko2u/centos6
Using default tag: latest
latest: Pulling from miko2u/centos6
67f15db7c18f: Pull complete
509a26fd7457: Pull complete
fc1eb556a306: Pull complete
a64d7cf12062: Pull complete
Digest: sha256:e0fde5482f052a54b8215300cbe06ec233e0527d70fe8b89e0b4a81be1b30a3c
Status: Downloaded newer image for miko2u/centos6:latest
docker.io/miko2u/centos6:latest
[root@tspdocker docker]#
删除容器镜像
docker rmi <[REPOSITORY] or [IMAGE ID]>
【实行例】
确认要删除的容器。
[root@tspdocker docker]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 9beeba249f3e 8 days ago 127MB
miko2u/centos6 latest 092ba03e36dd 3 years ago 248MB
[root@tspdocker docker]#
→这次删除 “miko2u/centos6″。
删除容器
[root@tspdocker docker]# docker rmi miko2u/centos6
Untagged: miko2u/centos6:latest
Untagged: miko2u/centos6@sha256:e0fde5482f052a54b8215300cbe06ec233e0527d70fe8b89e0b4a81be1b30a3c
Deleted: sha256:092ba03e36ddfcb49881eba3b708f461b7334cc7c595411350b04258495bd160
Deleted: sha256:c6c375cf9281546ef63130efff84f0732fc45bfaca98307eb8055b0acd4392ef
Deleted: sha256:0d222776efc8d8e95f128486c9df597c8f97148d700a585e92dd741b1d237d0c
Deleted: sha256:6128ee232c96b4419361c6855b26025ec74e66490b281f900a332f356554843e
Deleted: sha256:b1b065555b8aba5ae83d5d59d611a6b0cc470e9c14b7e4bee081398309e474a5
[root@tspdocker docker]#
确认容器已被删除。
[root@tspdocker docker]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 9beeba249f3e 8 days ago 127MB
[root@tspdocker docker]#
容器启动/停止相关
确认已启动的容器
docker ps
よく使うオプション内容-a全てのコンテナ情報出力
【执行实例】
- docker ps
[root@tspdocker docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b631bfb26b8e nginx "nginx -g 'daemon of…" 4 hours ago Up 4 hours 0.0.0.0:8080->80/tcp vibrant_engelbart
[root@tspdocker docker]#
- docker ps -a
[root@tspdocker docker]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b631bfb26b8e nginx "nginx -g 'daemon of…" 4 hours ago Up 4 hours 0.0.0.0:8080->80/tcp vibrant_engelbart
[root@tspdocker docker]#
创建容器
docker run -it <イメージ名>
オプションの意味内容-itコンソールに結果を出力
这个命令会同时创建、启动和登录容器。
【示例】
[root@tspdocker docker]# docker run -it ubuntu
root@644f6b5a46b9:/#
启动容器
docker start <CONTAINER IDまたはNAME>
【执行实例】
确认”ubuntu”已被停止。
[root@tspdocker docker]# docker ps -a | grep ubuntu
644f6b5a46b9 ubuntu "/bin/bash" 11 minutes ago Exited (0) 13 seconds ago intelligent_hamilton
[root@tspdocker docker]#
确认「已退出」的出现
启动”Ubuntu”操作系统。
[root@tspdocker docker]# docker start 644f6b5a46b9
644f6b5a46b9
[root@tspdocker docker]#
→ 「644f6b5a46b9」是容器的ID
确认”ubuntu”已经成功启动。
[root@tspdocker docker]# docker ps -a | grep ubuntu
644f6b5a46b9 ubuntu "/bin/bash" 12 minutes ago Up 8 seconds intelligent_hamilton
[root@tspdocker docker]#
确认是否「上」。
如果未登录到容器,停止容器。
docker stop <CONTAINER IDまたはNAME>
【示例执行】
确认“Ubuntu”已启动。
[root@tspdocker docker]# docker ps -a | grep ubuntu
644f6b5a46b9 ubuntu "/bin/bash" 23 minutes ago Up 10 minutes intelligent_hamilton
[root@tspdocker docker]#
确定“Up”状态。
停止「ubuntu」。
[root@tspdocker docker]# docker stop 644f6b5a46b9
644f6b5a46b9
[root@tspdocker docker]#
请验证「Ubuntu」已经停止运行。
[root@tspdocker docker]# docker ps -a | grep ubuntu
644f6b5a46b9 ubuntu "/bin/bash" 24 minutes ago Exited (0) 29 seconds ago intelligent_hamilton
[root@tspdocker docker]#
确认「Exited」这个状态
如果已登录到容器中,停止容器。
(Paraphrase in Chinese: 如果在容器中登录,停止容器。)
exit
以下为一个例子:
1. 登录到”ubuntu”的容器
[root@tspdocker docker]# docker attach 644f6b5a46b9
root@644f6b5a46b9:/#
② 执行「退出」
root@644f6b5a46b9:/# exit
exit
[root@tspdocker docker]#
③ 确认“Ubuntu”已停止运行。
[root@tspdocker docker]# docker ps -a | grep ubuntu
644f6b5a46b9 ubuntu "/bin/bash" 30 minutes ago Exited (0) 2 minutes ago intelligent_hamilton
[root@tspdocker docker]#
确认「Exited」状态
登录到正在运行的容器中。
(I apologize if my Chinese translation is not accurate.)
- attach
docker attach <CONTAINER IDまたはNAME>
【例子】
确认”ubuntu”已经启动。
[root@tspdocker docker]# docker ps -a | grep ubuntu
644f6b5a46b9 ubuntu "/bin/bash" 35 minutes ago Up 11 seconds intelligent_hamilton
[root@tspdocker docker]#
确认能够登录到“Ubuntu”容器。
[root@tspdocker docker]# docker attach 644f6b5a46b9
root@644f6b5a46b9:/#
※在退出时,请按顺序按下“Ctrl”键,然后按下“p”键,再按下“q”键。
root@644f6b5a46b9:/# read escape sequence
[root@tspdocker docker]#
- exec
docker exec -it <CONTAINER IDまたはNAME> /bin/bash
オプション名内容i標準入力(STDIN)を開いたままにするt擬似ttyに接続する。ディスプレイ(STDOUT)をつなぐイメージ
【示例执行】
确认”Ubuntu”已经启动。
[root@tspdocker docker]# docker ps -a | grep ubuntu
644f6b5a46b9 ubuntu "/bin/bash" 35 minutes ago Up 11 seconds intelligent_hamilton
[root@tspdocker docker]#
确认可以登录到 “Ubuntu” 容器。
[root@tspdocker docker]# docker exec -it 644f6b5a46b9 /bin/bash
root@644f6b5a46b9:/#
※当你要退出时,按住Ctrl键,然后按下p键和q键,按这个顺序按下。
root@644f6b5a46b9:/# read escape sequence
[root@tspdocker docker]#
请参照下文
创建Docker容器,启动到停止
Docker命令备忘录
在Docker容器内操作的attach和exec区别
适用于初学者的Docker基本命令清单(新旧风格兼容)