docker version #查看docker的版本信息 docker info #查看docker的系统信息,包括镜像和容器的数量 docker 命令 --help #帮助命令(可查看可选的参数) docker COMMAND --help
docker官方命令帮助文档:https://docs.docker.com/engine/reference/commandline/docker/
镜像命令- docker images # 查看本地主机上所有的镜像
# 结果 REPOSITORY TAG IMAGE ID CREATED SIZE 1.REPOSITORY 镜像的仓库源 2.TAG 镜像的标签 3.IMAGE ID 镜像的id 4.CREATED 镜像的创建时间 5.SIZE 镜像的大小 # 可选参数 -a/--all 列出所有的镜像 -q/--quiet 只显示镜像的id
- docker search # 搜索镜像
# docker search mysql
NAME DEscriptION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 10308 [OK]
mariadb MariaDB is a community-developed fork of MyS… 3819 [OK]
mysql/mysql-server Optimized MySQL Server Docker images. Create… 754 [OK]
percona Percona Server is a fork of the MySQL relati… 517 [OK]
centos/mysql-57-centos7 MySQL 5.7 SQL database server 86
mysql/mysql-cluster Experimental MySQL Cluster Docker images. Cr… 79
centurylink/mysql Image containing mysql. Optimized to be link… 60 [OK]
# 可选参数
Search the Docker Hub for images
Options:
-f, --filter filter Filter output based on conditions provided
--format string Pretty-print search using a Go template
--limit int Max number of search results (default 25)
--no-trunc Don't truncate output
# 搜索收藏数大于3000的镜像
docker search mysql filter=STARS=3000
- docker pull 镜像名 [:tag]# 下载镜像
Using default tag: latest #如果不写tag默认就是latest latest: Pulling from library/mysql 6ec7b7d162b2: Pull complete #分层下载,docker image的核心-联合文件系统 fedd960d3481: Pull complete 7ab947313861: Pull complete 64f92f19e638: Pull complete 3e80b17bff96: Pull complete 014e976799f9: Pull complete 59ae84fee1b3: Pull complete ffe10de703ea: Pull complete 657af6d90c83: Pull complete 98bfb480322c: Pull complete 6aa3859c4789: Pull complete 1ed875d851ef: Pull complete Digest: sha256:78800e6d3f1b230e35275145e657b82c3fb02a27b2d8e76aac2f5e90c1c30873 #签名 Status: Downloaded newer image for mysql:latest docker.io/library/mysql:latest #下载来源的真实地址 #docker pull mysql等价于docker pull docker.io/library/mysql:latest # 指定版本下载 docker pull mysql:5.7
- docker rmi # 删除镜像
#1.删除指定的镜像id docker rmi -f 镜像id #2.删除多个镜像id docker rmi -f 镜像id 镜像id 镜像id #3.删除全部的镜像id # docker rmi -f $(docker images -aq)容器命令
- 拉取容器
docker pull centos
- 运行容器
docker run [可选参数] image # 可选参数 --name="name" 指定容器名字 -d 后台方式运行 -it 使用交互方式运行,进入容器查看内容 -p 制定容器的端口 -p ip:主机端口:容器端口 配置主机端口映射到容器端口 -p 主机端口:容器端口 -p 容器端口 -P 随机指定端口
- 进入容器
docker run -it centos /bin/bash
- 退出容器
#exit 停止并退出容器(后台方式运行则仅退出) #Ctrl+P+Q 不停止容器退出
- 列出运行过的容器
docker ps [可选参数]
# 可选参数
# 列出当前正在运行的容器
-a # 列出所有容器的运行记录
-n=? # 显示最近创建的n个容器
-q # 只显示容器的编号
- 删除容器
docker rm 容器id # 删除指定的容器,不能删除正在运行的容器,强制删除使用 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容器后台运行,必须要有一个前台的进程,否则会自动停止 docker logs -tf 容器id docker logs --tail num 容器id #num为要显示的日志条数
- 查看容器中进程信息
docker top 容器id
- 查看容器的元数据
docker inspect 容器id
- 进入当前正在运行的容器
# docker exec 进入容器后开启一个新的终端 docker exec -it 容器id /bin/bash # docker attach 进入容器正在执行的终端,不会启动新的进程 docker attach 容器id
- 拷贝命令
# 拷贝容器的文件到主机中 docker cp 容器id:容器内路径 目的主机路径 # 拷贝宿主机的文件到容器中 docker cp 目的主机路径 容器id:容器内路径



