docker常用命令总结

新建容器:

1
docker run --name=xss_bot -itd -p 5000:5000 xss_bot:1.0 /bin/bash    // run=create+start

主机获取Docker容器的IP地址

1
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id

看容器的环境变量

1
docker exec 容器id env

查看有调用该镜像的镜像。

1
docker image inspect --format='{{.RepoTags}} {{.Id}} {{.Parent}}' $(docker image ls -q --filter since=XXX)    # XXX指镜像ID

向docker拷贝文件

1
docker cp 本地文件的路径 container_id:<docker容器内的路径>

日志:

1
docker logs -f 2e7b | grep "response"

获取容器所有信息

1
docker inspect mysql

容器互联

  1. 创建自定义网络

    1
    docker network create lingwuNet
  2. 运行容器连接到testnet网络。
    使用方法:docker run -it –name <容器名> —network–network-alias <网络别名> <镜像名>

    1
    docker run --name=xss_bot -itd -p 5000:5000 --network lingwwNet --network-alias botNet xss_bot:1.0 /bin/bash

docker保存对容器的修改

1
2
3
docker ps -l    // 查看修改后最新的容器
docker commit <container_id> <image_name>
docker commit -a "lingwu" b5 vuln_web:2.0

导出 export - 导入 import

格式:docker export CONTAINER(容器)

  1. 导出容器为tar包,
1
docker export 2e > /Users/dy.zhang/Desktop/xxs-ctf_1.0.tar
  1. 导入容器
1
docker import - xss_bot:1.0 </Users/dy.zhang/Desktop/xxs-ctf_1.0.tar

保存save - 加载 load

格式:docker save IMAGE(镜像)

1
2
docker save codehi/php:7.1-fpm codehi/nginx:v1 > codehi-nginx-php7.1-fpm.tar
docker load -i /opt/codehi-nginx-php7.1-fpm.tar

导出 export 与 保存 save 的区别

  1. export导出的镜像文件大小 小于save保存的镜像

  2. .export 导出(import导入)是根据容器拿到的镜像,再导入时会丢失镜像所有的历史,所以无法进行回滚操作(docker tag);而save保存(load加载)的镜像,没有丢失镜像的历史,可以回滚到之前的层(layer)。(查看方式:docker images –tree)