avatar

黄金月河3.1

浴火重生

  • 首页
  • Linux基础
  • 运维
  • Github
  • Python
  • 网络安全
  • 软路由
  • 时光手札
  • 关于
Home Docker镜像基础操作
文章

Docker镜像基础操作

Posted 2025-01-2 Updated 2025-02- 27
By 奈幽
11~14 min read

Docker镜像操作命令

登陆镜像仓库

docker login docker.hub -u <user> (回车输入密码)

拉取

docker pull docker.hub/库名/镜像名:tag

导出

docker save -o rustdesk-server-latest.tar rustdesk/rustdesk-server:latest

导入

docker load < rustdesk-server-latest.tar

上传

docker push docker.hub/库名/images:tag

快速关闭所有运行的容器

for i in $(docker ps | awk 'NR>1 {print $1}'); do docker stop $i;done && docker ps

快速关闭并删除所有本地容器

for i in $(docker ps -a | awk 'NR>1 {print $1}'); do docker stop $i && docker rm $i;done && docker ps -a

快速删除所有本地镜像

  for i in $(docker images | awk 'NR>1 {print $3}'); do docker rmi -f $i;done && docker images

快速进入指定的容器中

docker exec -it $(docker ps -a |grep nginx ) /bin/bash

清除登陆用户名密码记录

docker logout && rm -f ~/.docker/config.json

解决docker网络冲突

创建容器时,使用已存在的网络

docker run

  1. 直接指定网络名称 在运行容器时,通过 --network 参数直接指定已存在的网络名称即可。例如:

    docker run -d --name my-container --network existing_network my-image
  2. 验证网络连接 通过 docker network inspect existing_network 可查看容器是否已加入该网络。若容器已存在,也可通过 docker network connect 动态连接:

    docker network connect existing_network my-container

dockerfile

Dockerfile 本身不直接管理网络配置,但可通过以下方式间接实现:

  1. 在 Dockerfile 中定义默认网络参数(可选) 虽然无法在 Dockerfile 中直接绑定网络,但可通过环境变量或脚本预设网络名称,例如:

    ENV NETWORK_NAME=existing_network

    后续在 docker run 时通过 --network $NETWORK_NAME 调用。

  2. 构建镜像后运行时指定网络 实际运行时仍需依赖 docker run 的 --network 参数,例如:

    docker build -t my-image .
    docker run -d --network existing_network my-image

docker compose

  1. 声明外部网络 在 docker-compose.yml 中,通过 external: true 引用已存在的网络:

    services:
      my-service:
        image: my-image
        networks:
          - existing_network
    ​
    networks:
      existing_network:
        external: true
        name: existing_network  # 显式指定名称(可选)
  2. 多项目共享网络 若需跨多个 Compose 项目共享同一网络,需先手动创建网络:

    docker network create --driver bridge existing_network

    然后在各项目的 Compose 文件中均声明 external: true。

  1. 注意:

    1. 确保 Compose 文件中指定的网络驱动(如 bridge、overlay)与已存在网络一致

    2. 同一网络内的容器可通过服务名称(Compose 服务名或容器名)直接通信,无需依赖 IP 地址。

容器
docker
License:  CC BY 4.0
Share

Further Reading

Apr 8, 2025

rhel9 安装docker和docker-compose

1、rhel9 安装docker 1.1、yum安装 1.1.1、添加镜像源 sudo bash -c "cat > /etc/yum.repos.d/docker-ce.repo"<< EOF [docker-ce-stable] name = docker-ce-stable baseurl

Feb 20, 2025

【BASH】Docker容器映射目录检测脚本

#!/bin/bash # check_docker_permissions.sh - 容器权限检测工具 # 配置参数 LOG_DIR="./docker_check" # 定义日志目录的路径 TS=$(date +%Y%m%d_%H%M%S) # 获取当前时间戳,格式为 YYYYMMDD_H

Feb 19, 2025

Docker容器内进程是否有持久化目录访问权限的检测脚本

操作示例: # 检查单个容器 $ ./check_docker_permissions.sh ​ # 检查多个容器 $ ./check_docker_permissions.sh 1,3,nginx ​ # 检查所有容器 $ ./check_docker_permissions.sh all 脚本内

OLDER

File Browser 开源文件系统

NEWER

开源 PDF 文档翻译工具 PDFMathTranslate

Recently Updated

  • 奈幽的渗透测试总结-红队
  • 基于Docker的虚拟 Chrome 浏览器
  • Metasploit Framework (MSF) 使用指南
  • rhel9 安装docker和docker-compose
  • 内网穿透工具:zrok

Trending Tags

Halo elasticsearch debian openwrt KeepassXC 必看精选 webdav 热门文章 docker Linux

Contents

©2025 黄金月河3.1. Some rights reserved.

Using the Halo theme Chirpy