Docker常用命令
命令 | 描述 |
---|---|
docker -v | 查看docker版本 |
docker -info | 查看docker系统信息,包括镜像和容器数 |
systemctl start docker.server | 启动docker服务 |
systemctl stop docker.service | 关闭docker服务 |
systemctl status docker.service | 查看docker状态 |
systemctl enable docker.service | 设置开机自动启动 |
docker search 镜像名 | 查询官方镜像和所有个人公共镜像 |
docker pull 镜像名:版本号 | 拉取镜像,不加版本号自动下载latest最新版本 |
docker images | 查看docker镜像列表 |
docker rmi 镜像名:版本号 | 删除镜像 |
docker ps -a | 查看docker容器列表 |
docker start 容器名/ID | 启动一个或多个已经被停止的容器 |
docker stop 容器名/ID | 停止一个运行中的容器 |
docker restart 容器名/ID | 重启容器 |
docker rm 容器名/ID | 移除docker容器 |
docker exec -it 容器名/ID /bin/bash | 进入docker容器内部终端 |
hostname、ip addr、env | 进入docker容器内部终端后查看容器相关信息 |
docker logs 容器名/ID | 查看容器相关日志 |
docker cp 容器名/ID:容器中文件位置 拷贝unix位置 | 将容器内部文件拷贝出至unix |
启动容器命令:
tomcat启动命令:
docker run -d -p 8080:8080 -v /usr/local/warFile/docker-tomcat:/usr/local/tomcat/webapps --name mytomcat tomcat
mysql启动命令:
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=passw0rd --name mysql mysql
nginx启动命令:
docker run -d -p 80:80 --name mynginx nginx
rabbitmq启动命令:
docker run -d -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=passw0rd --hostname my-rabbit --name myrabbit rabbitmq:management
es启动命令:
docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" --name myelasticsearch elasticsearch:7.9.1
kibana启动命令:
docker run -d --name mykibana -e ELASTICSEARCH_URL=http://123.56.9.39:9200 -p 5601:5601 kibana
zookeeper启动命令:
docker run -d --name myzookeeper -p 2181:2181 zookeeper
consul启动命令:
docker run -d --name myconsul -p 8500:8500 consul
nacos启动命令:
docker run --name mynacos -d -p 8848:8848 -e JVM_XMS=512m -e JVM_XMX=2048m -e MODE=standalone -e PREFER_HOST_MODE=hostname -v /home/nacos/logs:/home/nacos/logs nacos/nacos-server:2.0.0
语法:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明:
- -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
- -d: 后台运行容器,并返回容器ID;
- -i: 以交互模式运行容器,通常与 -t 同时使用;
- -P: 随机端口映射,容器内部端口随机映射到主机的端口;
- -p: 指定端口映射,格式为:主机(宿主)端口:容器端口;
- -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
- -name=“nginx-lb”: 为容器指定一个名称;
- -dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
- -dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
- -h “mars”: 指定容器的hostname;
- -e username=“ritchie”: 设置环境变量;
- -env-file=[]: 从指定文件读入环境变量;
- -cpuset=“0-2” or --cpuset=“0,1,2”: 绑定容器到指定CPU运行;
- -m :设置容器使用内存最大值;
- -net=“bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
- -link=[]: 添加链接到另一个容器;
- -expose=[]: 开放一个端口或一组端口;
- -volume , -v: 绑定一个卷;
杀掉容器命令:
杀掉运行中的容器mynginx:
docker kill -s KILL mynginx
语法:
docker kill [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS说明:
- -s :向容器发送一个信号 ,默认 KILL;
删除容器命令:
删除容器mynginx:
docker rm -f mynginx
移除容器 mynginx 对容器 db 的连接:
docker rm -l db
删除容器 mynginx, 并删除容器挂载的数据卷:
docker rm -v mynginx
删除所有已经停止的容器:
docker rm $(docker ps -a -q)
语法:
docker rm [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS说明:
- -f :通过 SIGKILL 信号强制删除一个运行中的容器;
- -l :移除容器间的网络连接,而非容器本身;
- -v :删除与容器关联的卷;
操作容器命令:
进入mynginx容器内部:
docker exec -it mynginx /bin/bash
在容器 mynginx 中以交互模式执行容器内 /root/runoob.sh 脚本:
docker exec -it mynginx /bin/sh /root/runoob.sh
语法:
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS说明:
- -d :分离模式: 在后台运行;
- -i :即使没有附加也保持 STDIN终端 打开;
- -t :分配一个伪终端
查看容器命令:
语法:
docker ps [OPTIONS]
OPTIONS说明:
- -a :显示所有的容器,包括未运行的;
- -f :根据条件过滤显示的内容;
- --format :指定返回值的模板文件;
- -l :显示最近创建的容器;
- -n :列出最近创建的n个容器;
- --no-trunc :不截断输出;
- -q :静默模式,只显示容器编号;
- -s :显示总的文件大小;
查看容器元数据命令:
查看 mynginx 的元数据:
docker inspect mynginx
语法:
docker inspect NAME|ID [NAME|ID...]
查看容器进程命令:
查看 mynginx 的进程:
docker top mynginx
语法:
docker top NAME|ID [NAME|ID...]
查看容器日志命令:
查看 mynginx 的日志输出:
docker logs -f mynginx
查看容器 mynginx 从2021年1月1日后的最新10条日志:
docker logs --since="2021-01-01" --tail=10 mynginx
语法:
docker logs [OPTIONS] CONTAINER
OPTIONS说明:
- -f : 跟踪日志输出;
- --since :显示某个开始时间的所有日志;
- -t : 显示时间戳;
- --tail :仅列出最新N条容器日志;
查看容器端口命令:
查看 mynginx 的端口映射:
docker port mynginx
语法:
docker port NAME|ID [NAME|ID...]
查看容器文件结构命令:
查看 mynginx 的端口映射:
docker diff mynginx
语法:
docker diff NAME|ID [NAME|ID...]