Loading

Docker - 常用命令

镜像(images)

基础命令

# 查看所有镜像
$ docker images

# 搜索镜像
$ docker search nginx

# 拉取镜像,默认最新版本,可以指定版本
$ docker pull nginx:latest

# 导出镜像
$ docker save nginx:latest > nginx.tar

# 导入镜像
$ docker load < nginx.tar

# 修改镜像标签名
$ docker tag nginx:latest nginx:test

# 查看镜像创建层信息
$ docker history nginx

# 删除镜像
$ docker rmi nginx:test
查看镜像占用磁盘空间
$ docker system df -v
# SIZE 镜像所有层加起来占用的空间
# SHARE SIZE 与其他镜像共享的镜像层占用空间大小
# UNIQUE SIZE 镜像独占层的空间大小
# 所以,理论上 Share size 越大越好,unique size 越小越好;复用才最好

容器(container)

基础命令

# 运行容器;-d 在后台运行
$ docker run -d --name=mysql

# 查看运行中的容器
$ docker ps

# 查看全部容器,包括已停止的容器
$ docker ps -a

# 查看容器中运行的进程
$ docker top mysql

# 查看资源占用
$ docker stats mysql 

# 容器操作
$ docker start mysql
$ docker restart mysql
$ docker stop mysql
$ docker kill mysql

# 暂停/恢复容器
$ docker pause mysql
$ docker unpause mysql

# 删除容器;运行状态的容器会删除失败
$ docker rm mysql

# 强制删除容器;运行状态的容器也会被删除
$ docker rm -f mysql

# 查看容器运行日志
$ docker logs -f mysql

# 执行命令(-i 交互式 -t 终端方式)
$ docker exec -it mysql /bin/bash

# 复制文件
$ docker cp a.txt mysql:/tmp
$ docker cp mysql:/tmp/a.txt /data

# 查看容器/镜像元信息;包含 PID、IP 等等
$ docker insepct mysql
# 格式化输出提取创建时间
$ docker inspect -f '{{.Created}}' mysql 
# 挂载目录
$ docker inspect --format "{{.Config.Volumes}}"  
# 查看容器运行状态
$ docker inspect --format '{{.Name}} {{.State.Running}}' mysql 
# 查看容器 IP 地址 
$ docker inspect --format='{{.NetworkSettings.IPAddress}}' mysql  

# 查看容器内文件结构变化
$ docker diff mysql
容器网络
# https://docs.docker.com/network

# 创建网桥 
$ docker network create --driver bridge mynet

# 查看网桥列表
$ docker network ls

# 查看网桥信息
$ docker network inspect mynet

# 查看容器网络信息
$ docker inspect --format='{{json .NetworkSettings.Networks}}' my_container
posted @ 2023-03-07 14:27  ABEELAN  阅读(15)  评论(0编辑  收藏  举报