帮助命令
docker version # 查看docker的版本信息
docker info # 查看docker的系统信息,包含镜像和容器的数量
docker --help # 帮助命令
docker官方帮助文档的命令 : https://docs.docker.com/engine/reference/commandline/docker/
https://hub.docker.com/ docker hub仓库地址
镜像命令
docker images
docker images 查看所有本地主机上的镜像[root@iz2zeak7sgj6i7hrb2g862z ~] docker images
REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest bf756fb1ae65 4 months ago 13.3kB mysql 5.7 b84d68d0a7db 6 days ago 448MB # 解释 #REPOSITORY # 镜像的仓库源 #TAG # 镜像的标签(版本) ---lastest 表示最新版本 #IMAGE ID # 镜像的id #CREATED # 镜像的创建时间 #SIZE # 镜像的大小
docker images
-a 列出所有镜像 all
-q 只显示镜像的id quiet
docker search
docker search [OPTIONS] 搜索镜像
option 作用 -f, --filter filter 根据提供的 filter 过滤输出 --limit int 搜索结果条数最大为 int(默认25) --no-trunc 显示完整的镜像 description --format 使用 Go 模板进行美观打印
搜索 star 数量>3000 的 mysql 镜像
docker pull
docker pull 镜像名[:tag]
docker pull mysql
latest: Pulling from library/mysql # 如果不写tag,默认就是最新的latest ffbb094f4f9e: Pull complete # 分层下载, docker image的核心,联合文件系统 df186527fc46: Pull complete fa362a6aa7bd: Pull complete 5af7cb1a200e: Pull complete 949da226cc6d: Pull complete bce007079ee9: Pull complete eab9f076e5a3: Pull complete 8a57a7529e8d: Pull complete b1ccc6ed6fc7: Pull complete b4af75e64169: Pull complete 3aed6a9cd681: Pull complete 23390142f76f: Pull complete Digest: sha256:ff9a288d1ecf4397967989b5d1ec269f7d9042a46fc8bc2c3ae35458c1a26727 # 签名防伪 Status: Downloaded newer image for mysql:latest docker.io/library/mysql:latest # 真实地址
# 上述命令的等价写法
docker pull mysql == dccker pull docker.io/library/mysql:latest
# 指定版本的下载
docker pull mysql:5.7
docker rmi
docker rmi 镜像的名称/镜像的ID # 删除镜像
docker rmi -f [id] #删除指定的镜像 docker rmi -f [id1] [id2] #删除多个镜像 docker rmi -f $(docker images -aq) #删除所有的镜像
容器命令
说明:有了镜像才可以创建容器; 下载1个centos的镜像来测试学习
docker pull centos
新建容器并启动
docker run
docker run [可选参数] image # 可选参数说明 --name="" # 容器名字,tomact01.tomact02 用来区分容器 -d # 后台方式运行 -it # 使用交互方式查询,进入容器查看内容 -p # 是小写的p. 指定容器的端口 -p 8080:8080 -P #是大写的P, 是随机指定端口
比如: docker run -it centos
docker run -p的使用方式
docker run -p ip:主机端口:容器端口
docker run -p 主机端口:容器端口(最常用的)
docker run -p 容器端口
docker run 容器端口
启动并进入容器
[root@iZuf63tzd3n3bijtsfqsk5Z ~]# docker run -it centos [root@6d915c591615 /]# ls bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var [root@6d915c591615 /]# exit exit
exit的方式是 退出容器并停止运行
ctrl+p+q的方式是 退出容器并且是不会停止运行
[root@iZuf63tzd3n3bijtsfqsk5Z ~]# ls [root@iZuf63tzd3n3bijtsfqsk5Z ~]#
docker ps
列出所有运行的容器 docker ps 显示全部的容器 docker ps -a 显示最近创建的容器 docker ps -l 或者 docker ps -a -l 显示 最近创建的2个容器 docker ps -n 2
docker rm 删除容器
docker rm 容器id # 删除指定的容器, 不能删除正在运行的容器, 需要强制删除docker rm -f 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
常用其他命令
后台启动容器
docker run -d 镜像名
docker run -d centos
查看日志docker logs
docker logs --help #查看一系列的参数
docker logs -f -t --tail 容器id
查看容器的进程信息
# 命令
docker top 容器id
查看容器的元数据
# 命令
docker inspect 容器id
进入当前正在运行的容器
# 我们通常启动容器 是通过后台方式进行的,需要进入到容器修改一些配置 # 命令,进入正在运行的容器 方法一 docker exec -it 容器id 方法二 docker attach 容器id
从容器内拷贝文件到主机
#命令
docker cp 容器id:容器内路径 目的主机路径