docker 常用命令

docker 基本命令

1、docker info

查询docker 基本信息

2、docker version

查询 docker 版本信息

3、docker logs

docker logs : 常用容器日志
​​​docker logs [OPTIONS] CONTAINER​​​OPTIONS说明:
-f : 跟踪日志输出
--since :显示某个开始时间的所有日志
-t : 显示时间戳
--tail :仅列出最新N条容器日志

​docker logs -f nginx 或者  docker logs -f nginx容器id​​跟踪查看容器nginx的日志输出

docker logs -f 容器id || 容器名

-f: 让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出

​docker logs --since="2020-04-01" --tail=10 nginx​​查看容器nginx从2020年4月1日后的最新10条日志

4.docker  run

docker run :创建一个新的容器的运行命令
​​​docker run [OPTIONS] IMAGE [COMMAND] [ARG...]​​​OPTIONS说明:
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-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:<name|id> ​​四种类型;
--link=[]: 添加链接到另一个容器;
--expose=[]: 开放一个端口或一组端口;

​docker run --name nginx -d nginx:latest​​​使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为 nginx 
​docker run -P -d nginx:latest​​使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口
​docker run -p 80:80 -v /data:/data -d nginx:latest​​使用镜像 nginx:latest,以后台模式启动一个容器,将容器的80端口映射到主机的80端口,主机的目录/data映射到容器的/data。
​docker run -p 127.0.0.1:80:8080/tcp ubuntu bash​​绑定容器的8080端口,并将其映射到本地主机127.0.0.1的80端口上。
​docker run -it nginx:latest /bin/bash​​使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令

 

5、docker pull

docker pull : 从镜像仓库中拉取或者更新指定镜像
​​​docker pull [OPTIONS] NAME[:TAG|@DIGEST]​​​OPTIONS说明:
-a :拉取所有 tagged 镜像
--disable-content-trust :忽略镜像的校验,默认开启
从Docker Hub下载java最新版镜像。
​docker pull java​​从Docker Hub下载REPOSITORY为java的所有镜像。
​docker pull -a java​

6、docker push

docker push : 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
​​​docker push [OPTIONS] NAME[:TAG]​​​OPTIONS说明:
--disable-content-trust :忽略镜像的校验,默认开启

上传本地镜像myapache:v1到镜像仓库中。
​​​docker push myapache:v1​

7、docker search

docker search : 从Docker Hub查找镜像
​​​docker search [OPTIONS] TERM​​​OPTIONS说明:
--automated :只列出 automated build类型的镜像;
--no-trunc :显示完整的镜像描述;
-s :列出收藏数不小于指定值的镜像。

从Docker Hub查找所有镜像名包含java,并且收藏数大于10的镜像
​​​docker search -s 10 java​

8、docker cp

docker cp :用于容器与主机之间的数据复制

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

OPTIONS说明:
-L :保持源目标中的链接

将主机/www/docker目录拷贝到容器96f7f14e99ab中,目录重命名为www。
​​​docker cp /www/docker 96f7f14e99ab:/www​​​将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。
​docker cp 96f7f14e99ab:/www /tmp/​

 

9、docker kill

docker kill :杀掉一个运行中的容器。
​​​docker kill [OPTIONS] CONTAINER [CONTAINER...]​​​OPTIONS说明:
-s :向容器发送一个信号

​docker kill -s KILL nginx​​杀掉运行中的容器nginx

 

1.显示所有运行中的容器

docker ps 

2.显示所有容器

docker ps -a

docker ps -l 查询最后一次创建的容器

3.进入容器的命令

docker exec -it 容器id /bin/bash

1.停止全部运行中的容器:

docker stop $(docker ps -q)

2.启动全部运行中的容器:

docker start $(docker ps -q)

3.删除全部运行中的容器:

docker rm $(docker ps -aq)

4.停止并删除容器

docker stop $(docker ps -q) & docker rm $(docker ps -aq)

5.删除所有的镜像

docker rmi $(docker images)、docker rmi $(docker images -q)

6. 查看指定 (ID 或者名字)容器的某个确定端口映射到宿主机的端口号

docker port 容器id || 容器名

7.清理所有处于停止状态的容器

docker container prune

 

参考地址:​​https://www.runoob.com/docker/docker-container-usage.html​