Docker是一个用于创建、部署和管理容器的开源平台。在使用Docker时,有效地管理和监控容器是非常重要的,其中查看和解析Docker命令(command)是基本且关键的一步。本文将介绍一些关于Docker的命令。
基础命令
Docker命令的格式
1
| docker <command>[options] [arguments]
|
Docker基础命令
1 2 3 4
| docker version docker info docker stats docker [command] --help
|
镜像相关命令
查看本地镜像 images
1 2 3 4 5 6 7 8 9 10 11 12 13
| docker images -a, --all -q, --quiet
[root@localhost ~] REPOSITORY TAG IMAGE ID CREATED SIZE centos 7 8652b9f0cb4c 2 months ago 204MB
REPOSITORY 镜像仓库源 TAG 标签(版本) IMAGE ID 镜像ID CREATED 创建时间 SIZE 大小
|
搜索镜像 search
1 2 3 4
| docker search [镜像名] --filter=STARS=3000 docker search centos docker search --filter=STARS=3000 centos
|
下载镜像 pull
1 2 3 4 5
| docker pull [镜像名]:[版本号] -a, --all-tags docker pull nginx docker pull nginx:1.14.0 docker pull -a nginx
|
删除镜像 rmi
1 2 3 4 5 6
| 删除镜像 rmi docker rmi [镜像名或者镜像id] -f docker rmi -f 镜像id docker rmi -f 镜像id 镜像id 镜像id 镜像id docker rmi -f $(docker images -aq)
|
推送镜像
容器相关命令
启动容器 rmi
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| 启动容器 run docker run [镜像名] -d -i -P -p -p ip:主机端口:容器端口 -p 主机端口:容器端口 -p 容器端口 -t --name="nginx-lb" --dns 8.8.8.8 --dns-search example.com -h "hostname" -e username="ritchie" --env-file=[] --cpuset="0-2" or --cpuset="0,1,2" -m --net="bridge" --link=[] --expose=[] --volume , -v docker run -it centos /bin/bash docker run -it -v 主机目录:容器内目录
|
查看容器信息 ps
1 2 3 4 5 6
| docker ps [CONTAINER ID or CONTAINER NAME] -a -n=? -q docker ps docker ps -n=3
|
退出容器 exit
1 2 3
| 退出容器 exit exit Ctrl + P + Q
|
删除容器 rm
1 2 3 4
| docker rm 容器id docker rm --f 容器id docker rm -f $(docker ps -qa) docker ps -q -a|xargs docker rm
|
启动和停止容器的操作
1 2 3 4 5
| 启动和停止容器的操作 docker start 容器id docker restart 容器id docker stop 容器id docker kill 容器id
|
查看容器日志 logs
1 2 3 4 5 6
| docker logs -f -t --tail 10 8e633673e3c2 -f --since -t --tail docker logs -tf --tail 10 8e633673e3c2
|
查看容器中的进程信息 top
查看镜像的元数据 inspect
1 2 3 4 5 6 7 8 9 10 11
| docker inspect [容器id] -f
[root@layman ~] 172.31.38.16
[root@layman ~] [PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin REDIS_VERSION=5.0.9 REDIS_DOWNLOAD_URL=http://download.redis.io/releases/redis-5.0.9.tar.gz REDIS_DOWNLOAD_SHA=53d0ae164cd33 536c3d4b720ae9a128ea6166ebf04ff1add3b85f1242090cb85]
|
进入容器 exec attach
1 2
| docker exec -it 容器id /bin/bash docker attach 容器id
|
其他相关命令
docker run 与 docker start区别
1 2 3
| docker run 只在第一次运行时使用,将镜像放到容器中,以后再次启动这个容器时,只需要使用命令docker start 即可; docker run相当于执行两步操作:将镜像放入容器(docker create),然后将容器启动,变成运行时容器(docker start); docker start的作用是,重新启动已存在的镜像。
|
Docker run的基本流程

挂载卷 -v
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| docker volume ls -v 容器内路径 -v 卷名:容器内路径 -v /宿主机路径:容器内路径 docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:ro nginx docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:rw nginx
构建 build docker build -f /home/docker-test-volume/dockerfile1 -t layman/dockerfile . -f -t
查看docker网络 network
docker network ls docker network inspect [NETWORK ID] docker network rm [NETWORK ID]
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet --driver bridge 自定义网络模式,使用桥接 --subnet 192.168.0.0/16 设置子网地址 --gateway 192.168.0.1 设置出口网关 mynet 自己定义的一个网络名字
docker network inspect mynet
加入网络 connect docker network connect mynet tomcat01
|
构建 build
1 2 3
| docker build -f /home/docker-test-volume/dockerfile1 -t layman/dockerfile . -f -t
|
查看docker网络 network
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| docker network ls docker network inspect [NETWORK ID] docker network rm [NETWORK ID]
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet --driver bridge 自定义网络模式,使用桥接 --subnet 192.168.0.0/16 设置子网地址 --gateway 192.168.0.1 设置出口网关 mynet 自己定义的一个网络名字
docker network inspect mynet
docker network connect mynet tomcat01
|