Docker常用的命令
帮助命令
docker version #打印docker的版本信息
docker info #显示docker的系统信息,包括镜像和容器的数量
docker 命令 --help #查看命令的帮助文档
镜像命令
docker images 查看本地的主机上的镜像
[root@iZ2zefj6kkvtlhfjyf4d09Z ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 8 months ago 13.3kB
#解释
REPOSITORY #镜像仓库源
TAG #镜像的标签
IMAGE ID #镜像的id
CREATED #镜像的创建时间
SIZE #镜像的大小
#可选项
-a, --all #列出所有的镜像
-q, --quiet #只显示镜像ID
docker search 搜索镜像
[root@iZ2zefj6kkvtlhfjyf4d09Z ~]# docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 9965 [OK]
mariadb MariaDB is a community-developed fork of MyS… 3645 [OK]
#可选项
-f, --filter filter #指定条件进行过滤
[root@iZ2zefj6kkvtlhfjyf4d09Z ~]# docker search mysql --filter=STARS=5000
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 9965 [OK]
docker pull下载镜像
#下载镜像 docker pull 镜像名 [:tag]
[root@iZ2zefj6kkvtlhfjyf4d09Z ~]# docker pull mysql
Using default tag: latest #默认条件下使用最新的tag
latest: Pulling from library/mysql #分层下载 这是docker image的核心,
d121f8d1c412: Pull complete
f3cebc0b4691: Pull complete
1862755a0b37: Pull complete
489b44f3dbb4: Pull complete
690874f836db: Pull complete
baa8be383ffb: Pull complete
55356608b4ac: Pull complete
dd35ceccb6eb: Pull complete
429b35712b19: Pull complete
162d8291095c: Pull complete
5e500ef7181b: Pull complete
af7528e958b6: Pull complete
Digest: sha256:e1bfe11693ed2052cb3b4e5fa356c65381129e87e38551c6cd6ec532ebe0e808 #验证
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest #真实地址
docker rmi 删除镜像
[root@iZ2zefj6kkvtlhfjyf4d09Z ~]# docker rmi -f $(docker images -aq) #$后面的内容作为参数进行传递,其中可以根据ID和镜像名称进行删除
Untagged: hello-world:latest
Untagged: hello-world@sha256:4cf9c47f86df71d48364001ede3a4fcd85ae80ce02ebad74156906caff5378bc
Deleted: sha256:bf756fb1ae65adf866bd8c456593cd24beb6a0a061dedf42b26a993176745f6b
容器命令
说明:有了镜像以后才可以创建容器,利用centos镜像进行测试学习
dockerpull centos
新建容器并启动
docker run [可选参数] image
#参数说明
--name="Name" 容器名字,主要用来区分容器
-d 后台运行
-it 使用交互方式运行,进入容器查看内容
-P 指定容器的端口
-p ip:主机端口:容器端口
-p 主机端口:容器端口(最常使用的一种方式)
-p 容器端口
容器端口
-p 随机指定端口
#启动并进入容器
[root@iZ2zefj6kkvtlhfjyf4d09Z ~]# docker run -it centos /bin/bash
[root@a54d2354aac9 /]#
#容器中退回主机
[root@a54d2354aac9 /]# exit
列出所有运行的容器
docker ps
-a, --all #列出目前正在运行的容器+历史运行过的容器
-n, --last int #显示最近创建的容器,或最近几个
-q, --quiet #只显示容器的编号
[root@iZ2zefj6kkvtlhfjyf4d09Z ~]# docker ps --last=1
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a54d2354aac9 centos "/bin/bash" About an hour ago Exited (0) About an hour ago focused_sinoussi
删除容器
docker rm 容器id #删除指定的容器,不能删除正在运行的容器
docker rm -f $(docker ps -aq) #删除全部的镜像
docker ps -a -q | xargs docker rm #删除全部镜像
启动和停止容器
docker start 容器id
docker restart 容器id
docker stop 容器id
docker kill 容器id