【运维】Docker安装、镜像操作、容器操作、目录映射、网络模式

    科技2025-11-26  16

    1.Docker

    Docker是一个用Go语言写的开源的容器引擎,采用C/S架构,可以快速搭建一个轻量级的、可移植的、自给自足的容器。Docker主要包括以下几个部分

    2.安装Docker

    Ubuntu系统安装。安装完之后会有一个地址为172.17.0.1的docker0网卡

    apt install docker-ce -y systemctl [start|stop|restart|status|...] docker docker version|info

    使用国内镜像

    # 定制加速仓库(国内镜像站) echo '{"registry-mirrors": ["https://kcmn5udq.mirror.aliyuncs.com"]}' > /etc/docker/daemon.json # 重启服务 systemctl restart docker

    3.Docker基本操作

    3.1 镜像管理

    搜索、获取、查看、历史

    # 搜索镜像 docker search [image_name] # 获取镜像 docker pull [image_name] # 查看镜像 docker images <image_name>

    标签、删除、导出、导入

    # 添加标签 docker tag [old_image]:[old_version] [new_image]:[new_version] # 例如 docker tag nginx:latest mynginx:v1.0 # 删除镜像(当镜像的引用计数为0时才真正删除) docker rmi [image_id/image_name:image_version] 或 docker image rm [image_id/image_name:image_version] # 例如 docker image rm mynginx:v1.0 # 导出镜像 docker save -o [包文件] [镜像] # 例如 docker save -o nginx.tar nginx:latest 或 docker save > [包文件] [镜像] 或 docker save [镜像] > [包文件] # 导入镜像 docker load < [image.tar] # 例如 docker load < nginx.tar 或 docker load --input [image.tar] 或 docker load -i [image.tar]
    3.2 容器管理

    我们把镜像运行成一个容器

    查看容器(包括已停止运行的容器)

    docker ps -a 或 docker container ls -a # 若不加-a,则只显示正在运行的容器

    创建并启动、启动、关闭、删除

    # 以下命令的container可省略 # 创建并运行 docker run -itd --name <别名> <image_name> # 例如 docker run -itd --name mynginx nginx # 启动 docker container start [container_id或别名] # 停止 docker container stop [container_id或别名] # 删除 docker rm [-f] [container_id]

    登录、提交、日志、属性

    # 以下命令的 container可省略 # 登录/进入容器 docker container exec -it b98d2e4322ac /bin/bash # 例如 docker exec -it b98d2e4322ac /bin/bash # 使用 exit 退出容器 # 提交 docker commit -m '改动信息' -a "作者信息" [container_id] [new_image:tag] # 例如 docker commit -m "增加了python环境" -a "pan" b98d2e4322ac mynginx_python:v1.0 # 日志 docker logs [container_id] # 属性 docker inspect [container_id]
    3.3 数据管理

    数据卷可以将宿主机的目录一一映射到容器中,在创建容器时使用-v参数指定映射关系即可

    docker run -itd --name [容器名字] -v [宿主机文件]:[容器文件] [镜像名称]
    3.4 网络管理

    Docker网络实现方式主要有端口映射和网络模式两种。我们要在创建容器的时候就指定网络实现方式

    3.4.1 端口映射
    docker -P|p [镜像名称]

    P表示随机端口映射到宿主机,p表示指定映射端口

    # P随机 docker run -d -P nginx # p指定 docker run -d -p 192.168.8.13:777:80 --name nginx-2 nginx
    3.4.2 网络模式
    docker network help|ls|create|

    bridge模式(桥接模式) 类似于VMware虚拟机的nat模式,宿主机与容器通信需要经过网关涉及网络转换,造成资源消耗 host模式(主机模式) 是直接使用宿主机的东西,即容器与宿主机共享网络 none模式不做任何网络配置,需要自己定制

    为提高效率,一般使用host模式更多

    # 重点命令(必须掌握) docker run --network=host -itd --name <容器名称> <镜像名称> # 例如 docker run --network=host -itd --name nginx-host nginx # 断开网络 docker network disconnect bridge-test nginx-new-bri # 连接网络 docker network connect bridge-test nginx-new-bri
    Processed: 0.014, SQL: 9