Docker常用命令

镜像(images)
  • 查看
    • 查看本地所有镜像
    docker images -a
    
    • 查看本地所有镜像的id
    docker images -q
    
    • 查看镜像具体信息
    docker image inspect [IMAGE:TAG]/[IMAGE ID]
    
    • 查看镜像构建过程
    docker image history [IMAGE:TAG]/[IMAGE ID]
    
  • 拉取
    • 拉取镜像
    docker pull [IMAGE]
    
    • 拉取指定版本镜像
    docker pull [IMAGE:TAG]
    
  • 删除
    • 删除镜像
    docker rmi -f [IMAGE:TAG]/[IMAGE ID]
    
    • 删除本地所有的镜像
    docker rmi -f $(docker images -q)
    
容器(container)
  • 查看
    • 查看本地所有正在运行的容器
    docker ps
    
    • 查看本地所有正在运行的容器的id
    docker ps -q
    
    • 查看本地所有的容器
    docker ps -a
    
    • 查看本地所有容器的id
    docker ps -aq
    
  • 创建
    • 创建容器
    docker run [IMAGE]
    
    • 创建并进入容器
    docker run -it [IMAGE] /bin/bash
    
    • 后台创建容器,并且设置名字和端口号
    docker run -d --name [name] -p [host port]:[container port] [IMAGE]
    
    • 用后即删
    docker -it --rm [IMAGE]
    
  • 退出
    • 停止容器并退出
    exit
    
    • 不停止容器并退出
    Ctrl + P + Q
    
  • 进入
    • 以交互模式进入一个正在运行的容器
    docker exec -it [CONTAINER] /bin/bash
    
    docker attach [CONTAINER]
    
    区别在于,
    docker exec进入容器并开启一个新的终端
    docker attach进入容器正在运行的终端
  • 删除
    • 删除指定id容器(容器处于停止状态)
    docker rm [CONTAINER ID]
    
    • 强制删除指定id容器(容器处于运行状态)
    docker rm -f [CONTAINER ID]
    
    • 删除所用容器
    docker rm -f $(docker ps -aq)
    
  • 提交
docker commit -a="[author]" -m="[message]" [CONTAINER] [IMAGE:TAG]

例如,

docker commit -a="kimi" -m="add a new feature" 6dc63a3d474f tomcat_kimi:1.0
  • 网络
    • 查看容器网络
    docker exec [CONTAINER] ip addr
    
  • 日志
    • 查看容器日志
    docker logs -tf [CONTAINER]
    
  • 进程
    • 查看容器进程信息
    docker top [CONTAINER]
    
  • CPU & Memory
    • 查看容器CPU、Memory占用信息
    docker status
    
    • 查看某个容器的CPU、Memory占用信息
    docker status [CONTAINER]
    
  • 元数据
    • 查看容器元数据
    docker inspect [CONTAINER]
    
    通过查看元数据,可以看到image和container完整的id
  • 拷贝
    • 将文件从容器内拷贝至主机
    docker cp [CONTAINER]:[src] [dst] 
    
    例如,
    docker cp faa63637bfef:/home/kimi.txt /home
    
  • 打开可视化界面 portainer
docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
  • 挂载
    • 普通挂载
    docker run -v [HOST src]:[CONTAINER src] [IMAGE]
    
    将Docker容器里的src挂载至主机的dst,利用docker insepct [CONTAINER ID],查找Mounts字段,查看挂载信息。
    • 匿名挂载(不推荐使用)
    docker run -v [CONTAINER dst] [IMAGE] 
    
    -v后只写container内部的路径
    • 具名挂载
    docker run -v [VOLUME NAME]:[CONTAINER dst] [IMAGE]
    
    所有Docker容器的卷,在没用指定目录的情况下,都是挂载在/var/lib/docker/volumes/XXXX/_data目录下。
  • 数据卷容器
    创建容器时,添加--volumes-from命令,用于不同容器之间的数据流动。
docker run -d --volumes-from [SRC CONTAINER] [IMAGE]

例如

docker run -d --volumes-from tomcat01 tomcat
网络
  • 查看
    • 查看本地所有网络
    docker network ls
    
    • 查看网络具体信息
    docker newtork inspect [NETWORK]
    
  • 创建
docker network create --driver [driver] --subnet [subnet] --gateway [gateway] [NAME]
  • 连接网络和容器
docker network connect [NETWORK] [CONTAINER]
Dockerfile

Dockerfile用来构建Docker镜像的文件。

FROM		# 基础镜像
MAINTAINER  # 镜像作者,姓名+邮箱
ENV			# 构建镜像时设置环境变量
RUN			# 构建镜像时需要运行的命令
ADD			# 将文件拷贝到镜像
COPY 		# 将文件拷贝到镜像
WORKDIR		# 镜像的工作目录
VOLUME		# 镜像挂载的目录
EXPOSE		# 声明容器暴露的端口
RUN			# 运行
CMD			# 容器启动时需要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT	# 容器启动时需要运行的命令,可以追加命令
  • 创建镜像
docker build -f [Dockerfile] -t [IMAGE:TAG] .

如果Dockerfile在当前文件夹中,那么-f [Dockerfile]可以省略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值