一、命令


帮助命令:
镜像命令:
查看当前已有镜像:
# docker images --digests
REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE
hello-world latest sha256:49a1c8800c94df04e9658809b006fd8a686cab8028d33cfba2cc049724254202 bf756fb1ae65 7 months ago 13.3kB
#解释:
REPOSITORY 镜像的仓库源
TAG 镜像的标签
IMAGE ID 镜像的id
CREATED 镜像的创建时间
SIZE 镜像的大小
搜索:
# 搜索(以搜索mysql为例)
# docker search mysql
拉取镜像:
# 拉取镜像(以mysql为例)
# docker pull mysql
# 拉取指定版本的镜像(以mysql5.7为例)
# docker pull mysql:5.7
删除镜像:
# 根据镜像id删除指定镜像 rmi
# docker rmi -f IMAGE ID
# 根据镜像id删除多个指定镜像 rmi
# docker rmi -f IMAGE ID IMAGE ID IMAGE ID IMAGE ID
# 删除全部镜像
# docker rmi -f (docker images -aq)
容器命令:

启动容器:
#docker run [可选参数] image
#参数说明:
-it 使用交互方式运行,进入容器查看内容
-d 后台启动
停止运行中的容器:
#停止容器并退回到主机
# exit
#容器不停住并退回到主机
ctrl + p + q
示例:
# docker run -it centos /bin/bash
# ls
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
588bd3d950d8 centos "/bin/bash" 36 seconds ago Up 35 seconds fervent_galileo
查看运行中的容器:
# 查看运行中的镜像
#docker ps
#查看运行过的镜像
# docker ps -a
示例:
# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6a7cf6624259 centos "/bin/bash" 8 minutes ago Exited (127) 19 seconds ago stoic_lovelace
295520b671ef bf756fb1ae65 "/hello" 2 hours ago Exited (0) 2 hours ago adoring_banach
删除容器:
# 删除容器
# 根据容器id删除指定容器,不能删除正在运行的容器,如果需要强制删除则用 rm -f
# docker rm 容器id
# 删除所有容器
# docker rm -f $(docker ps -aq)
启动和停止容器:
# 启动容器
# docker start 容器id
# 重启容器
# docker rester 容器id
# 停止正在运行的容器
# docker stop 容器id
# 强制停止正在运行的容器
# docker kill 容器id
其他命令:
# 查看指定行数日志
# docker logs -tf --tail [显示日志条数] [容器]
# docker logs -tf --tail 10 295079dafab4
#查看所有日志
# docker logs -tf [容器id]
# docker logs -tf 295079dafab4
进入当前正在运行的容器
# 进入运行中的容器内部
#docker exec -it f91084091f04 /bin/bash
# 进入容器后开启新的终端
# docker exec
# 进入容器正在执行的终端
# docker attach
从容器内拷贝文件到主机上
#docker cp 容器id:
docker为什么比虚拟机快?
1、Docker有着比虚拟机更少的抽象层
2、Docker利用的是宿主机的内核、虚拟机需要的是Guest OS

所以说,新建一个容器的时候,docker不需要像虚拟机一样重新加载一个操作系统内核。但是安全性来说虚拟机要强于Docker
网友评论