Docker安装教程请参考 Docker安装教程 http://t.csdnimg.cn/SJONt
镜像命令
docker version #查看版本
docker info #显示docker系统信息,包括镜像和容器数量
docker 命令 --help #帮助命令
- 查看镜像
docker images #查看本地主机的所有镜像
REPOSITORY #镜像的仓库源
TAG #镜像的标签
IMAGE ID #镜像
CREATED #镜像的创建时间
SIZE #镜像的大小
可选项
-a, --all #列出所有镜像
-q, --quiet #只显示镜像ID
- 搜索镜像
docker search #搜索命令
docker search mysql #搜索mysql镜像
可选项
docker search mysql --filter=STARS=3000 #只搜收藏数大于3000以上的mysql镜像
- 下载镜像
docker pull mysql #下载mysql镜像,如果不写tag,默认下载最新版
Using default tag: latest #不写tag,默认下载最新版
328ba678bf27: Pull complete #分层下载,docker image的核心,联合文件系统,比如多个版本可以共用相同的分层,节约资源。
Digest: #签名,防伪
docker.io/library/mysql:latest #真实地址
docker pull mysql等价于docker pull docker.io/library/mysql:latest
docker pull mysql:5.7 #下载mysql镜像指定版本,前提镜像仓库必须有此版本
- 删除镜像,需先停止该镜像的容器才可删除成功
docker rmi -f 3f3447deacaa #g根据镜像ID删除镜像
docker rmi -f $(docker images -qa) #删除所有镜像
docker rmi -f 镜像id 镜像id 镜像id #删除多个镜像
- 查看镜像构建过程:docker history 镜像ID
容器命令
- 启动容器,run启动的时候如果本地没有会自动下载镜像
docker run [可选参数] image
参数说明
--name="name" #容器名称
-d #后台方式运行
-it #使用交互方式运行,进入容器查看内容
-p #指定容器的端口
-p 主机端口:容器端口 #主机端口映射到容器端口(常用)
-p ip:主机端口:容器端口 #指定ip,主机端口映射到容器端口
-p 容器端口 #
容器端口 #省略-p
-P #大写,随机指定端口
-----
- 退出容器
docker run -it centos /bin/bash #启动并进入centos容器
exit 或 Ctrl+C #从容器中退出,容器停止
ctrl+P+Q #从容器中退出,容器不停止
- 查看容器
docker ps #查看当前运行的容器
docker ps -a #查看所有容器,包括曾经运行的容器
docker ps -a -n=1 #查看最近一个的容器
docker ps -q #只显示容器的编号
- 删除容器
docker rm 容器id #根据容器id删除容器,不能删除正在运行的容器
docker rm -f 容器id #强制删除
docker rm -f $(docker ps -qa) #强制删除所有容器
docker ps -a -q|xargs docker rm #删除所有容器
- 启动/停止/进入容器
docker start 容器id #启动指定id容器
docker stop 容器id #停止指定id容器
docker restart 容器id #重启指定id容器
docker kill 容器id #杀死指定id容器
docker run -d centos #后台启动centos容器,如果容器里没有前台应用,容器启动后会自动停止
- 进入正在运行的容器
docker exec -it 容器id /bin/bash #进入容器,开启新终端
docker attach 容器id #进入容器,未开启新终端,显示日志,使用ctrl+P+Q退出容器停止,如果使用ctrl+C退出容器停止
docker-compose exec zabbix-web hostname -i #查看容器zabbix-web的ip
- 容器拷贝容器中的文件到本机
docker cp 容器id:/home/test.txt /home
- 查看日志
docker logs --help
docker logs -f -t 607a55ce09e9 #根据容器id查看全部日志
docker logs -f -t --tail 10 容器id #查看前10条日志
- 查看进程/内存,限制内存
docker top 容器id #查看指定容器id的top
docker stats #查看容器使用内存 cpu 使用内存 IO等
#使用容器安装es
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
#限制es使用内存
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2
- 查看容器元数据
docker inspect 容器id
"Id": #容器id
"Created": #容器创建时间
"Path": #默认控制台
"Args": #传递参数
"State": #运行状态、PID
"Image" #来源镜像
"Mounts" #挂载路径信息
"Config" #配置
- 查看所有容器网络docker network ls
- 查看容器磁盘使用情况
docker system df
docker system df -v
以上是一些常用的Docker命令,当然还有更多高级的用法和选项可以探索。