Docker 常用命令

记录 docker 常用命令。

image

  • 查看创建信息

    1
    $ sudo docker histroy <image_id>

network

  • 查看容器 IP

    1
    $ docker inspect --format='{{.NetworkSettings.IPAddress}}' $CONTAINER_ID

container

创建容器

  • 启动参数:

    • -i: interactive 交互模式;
    • -t: tty;
    • -d: 后台运行;
    1
    2
    # tty 登录
    docker run -i -t <images_id> /bin/bash
  • 进入后台运行的容器

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # 使用 name
    docker attach <name>

    # 使用 id
    docker attach <id>

    # 使用 name
    docker exec -it <name> /bin/bash

    # 使用 id
    docker exec -it <id> /bin/bash

    attach 和 exec 的区别在于 exec 执行 exit 时不会 stop 容器,而 attach 会 stop 容器。

  • 重命名

    1
    $ docker rename <current_name> <new_name>
  • 删除容器

    1
    2
    # 删除所有
    docker rm -f $(docker ps -a -q)

文件拷贝

1
2
3
4
5
# host -> container
docker cp <host_path> <containerID>:<container_path>

# container -> host
docker cp <containerID>:<container_path> <host_path>

查看容器信息

1
$ sudo docker inspect tox

清理

如果没有指定 --rm参数,我们创建的 docker 容器并不会删除,镜像也是,一段时间后会发现有很多不用的容器和镜像,一个一个删除会很麻烦,我们可以使用 prune指令批量删除。

1
2
3
4
5
# 删除所有未运行的容器
docker container prune

# 删除所有未使用的镜像
docker image prune