docker常用命令

docker常用命令

docekr 特性

查看docker版本

docker version

显示docker的系统信息,包括镜像和容器的数量

docker info

查看docker运行状态

systemctl status docker

启动docker服务

systemctl start docker  ||    service docker start

关闭docker服务

systemctl stop docker   ||    sudo service docker stop

镜像篇

查看所有镜像

docker image ls
-a, --all  #列出所有的镜像
-q,--quiet #只显示镜像的id

解释:
repository 镜像的仓库源
tag        镜像的标签
image id   镜像的id
created    镜像创建时间
size       镜像大小

删除指定镜像

docker rmi <image_id>|<image_name>

删除所有镜像

docker rmi $(docker images -aq)

搜索镜像

docker search 

拉取镜像

docker pull 镜像名:版本号

容器篇

查看容器

docker ps 
可选:
-a 会显示所有状态的容器(默认状态下只显示正在运行的容器)
-n=?    #显示最近运行的容器的个数
-p       #只显示容器的编号(和docker image -aq相同!!!!!!)

删除容器

docker rm 容器ID              #删除指定的容器,不能删除正在运行的容器,如果想强制删除 rm -f
docker rm -f $(docker ps -aq)    #删除所有的容器

启动和停止容器

docker start 容器ID     #启动容器
 
docker restart 容器ID   #重启容器
 
docker stop 容器ID      #停止当前正在运行的容器
 
docker kill 容器ID      #强制停止正在运行的容器

查看容器内部的进程信息

docker top 容器ID 

进入当前正在运行的容器

docker exec -it(可交互) 容器ID /bin/bash

查看日志

docker logs 
 
可选参数:
-t            #打印时间戳
-f            #实时追踪日志
--tail number #显示指定的日志条数

docker-compose

安装 Docker Compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

检查 Docker Compose 版本

docker-compose --version

启动服务

docker-compose up
可选:
-d 在后台启动服务

停止服务

docker-compose down

查看服务日志

docker-compose logs

构建或重新构建服务

docker-compose build

列出所有的服务

docker-compose ps

停止和删除所有的服务容器

docker-compose down

只停止服务容器,但不删除它们

docker-compose stop

重启服务容器

docker-compose restart

其他技巧

根据镜像创建容器

docker run -it --name 容器名 镜像名:版本号

删除所有未使用的镜像、容器、网络及数据卷

docker system prune -a

查看实时的资源使用情况(CPU、内存、I/O 等)

docker stats

导出容器为镜像

docker commit 容器ID 新镜像名:版本号

将镜像保存到文件

docker save -o 文件名.tar 镜像名:版本号

从文件加载镜像

docker load -i 文件名.tar

高级技巧

限制容器的资源使用

限制 CPU 使用
docker run -it --cpus="1.5" 镜像名
限制内存使用
docker run -it --memory="256m" 镜像名

绑定容器端口到主机端口

docker run -it -p 主机端口:容器端口 镜像名

使用卷(Volumes)来持久化数据

创建一个卷
docker volume create my_volume
使用卷
docker run -it -v my_volume:/path/in/container 镜像名

在容器之间共享数据卷

docker run -it --name container1 -v shared_data:/data 镜像名
docker run -it --name container2 --volumes-from container1 镜像名

将主机目录挂载到容器

docker run -it -v /path/on/host:/path/in/container 镜像名

查看卷

docker volume ls

删除卷

docker volume rm 卷名

删除未使用的卷

docker volume prune

在 Dockerfile 中使用多阶段构建

Dockerfile复制代码# 第一阶段:构建
FROM golang:1.16 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

# 第二阶段:运行
FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/myapp .
CMD ["./myapp"]

运行时指定环境变量

docker run -it -e MY_VAR=my_value 镜像名

从文件加载环境变量

docker run -it --env-file .env 镜像名

将容器内的端口映射到主机

docker run -it -p 8080:80 镜像名

连接到一个正在运行的容器

docker attach 容器ID

复制文件到容器

docker cp /path/on/host 容器ID:/path/in/container

从容器复制文件到主机

docker cp 容器ID:/path/in/container /path/on/host

查看容器的详细信息

docker inspect 容器ID

查看网络

docker network ls

创建自定义网络

docker network create my_network

在自定义网络中运行容器

docker run -it --network my_network 镜像名

连接现有的容器到自定义网络

docker network connect my_network 容器ID

从网络中断开容器

docker network disconnect my_network 容器ID

删除网络

docker network rm my_network

查看 Docker 事件

docker events

设置 Docker 容器自动重启

docker run -it --restart=always 镜像名

使用 Docker Compose 执行单个服务的命令

docker-compose run 服务名 命令

通过 Docker Compose 构建项目

docker-compose build

通过 Docker Compose 重新创建服务

docker-compose up --force-recreate

使用 Docker Compose 缓存依赖

docker-compose build --no-cache
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值