Docker 容器使用
封面图
•
2026-03-28
•
Docker
5
0
0
0
Docker 容器是一种轻量级的虚拟化技术,用于打包、分发和运行应用程序。它基于容器化技术,能够将应用及其依赖项打包到一个可移植的容器中,并在任何支持 Docker 的环境中运行。 以下是 **Docker 容器使用** 的基本指南: --- ## 一、安装 Docker ### Linux(Ubuntu 示例): ```bash sudo apt-get update sudo apt-get install docker.io ``` ### macOS / Windows: 安装 [Docker Desktop](https://www.docker.com/products/docker-desktop/) --- ## 二、常用 Docker 命令 | 命令 | 说明 | |------|------| | `docker run` | 运行一个容器 | | `docker images` | 查看本地镜像 | | `docker ps` | 查看正在运行的容器 | | `docker ps -a` | 查看所有容器(包括已停止的) | | `docker stop <container_id>` | 停止容器 | | `docker rm <container_id>` | 删除容器 | | `docker build` | 构建镜像 | | `docker pull` | 拉取镜像 | | `docker push` | 推送镜像到仓库 | --- ## 三、运行一个简单容器 ### 1. 运行一个交互式终端容器 ```bash docker run -it ubuntu bash ``` - `-i`:交互模式 - `-t`:分配一个伪终端 - `ubuntu`:使用 Ubuntu 镜像 - `bash`:在容器中运行 bash shell ### 2. 运行一个 Web 服务容器(例如 Nginx) ```bash docker run -d -p 80:80 nginx ``` - `-d`:后台运行 - `-p 80:80`:将主机 80 端口映射到容器 80 端口 - `nginx`:使用 Nginx 镜像 访问浏览器:`http://localhost` 应该能看到 Nginx 默认页面。 --- ## 四、查看容器信息 ```bash docker ps ``` 输出示例: ``` CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES abc123456789 nginx "/entrypoint.sh ngin..." 5 minutes ago Up 5 minutes 0.0.0.0:80->80/tcp my-nginx ``` --- ## 五、进入正在运行的容器 ```bash docker exec -it <container_id> bash ``` --- ## 六、构建自定义镜像 ### 1. 编写 `Dockerfile` ```dockerfile # 使用官方 Python 镜像作为基础 FROM python:3.9-slim # 设置工作目录 WORKDIR /app # 复制当前目录下的文件到容器中的 /app 目录 COPY . /app # 安装依赖 RUN pip install -r requirements.txt # 运行应用 CMD ["python", "app.py"] ``` ### 2. 构建镜像 ```bash docker build -t my-python-app . ``` ### 3. 运行容器 ```bash docker run -d -p 5000:5000 my-python-app ``` --- ## 七、Docker Hub 使用 ### 登录 Docker Hub ```bash docker login ``` ### 推送镜像 ```bash docker tag my-python-app your-dockerhub-username/my-python-app docker push your-dockerhub-username/my-python-app ``` --- ## 八、常见问题 ### 1. 容器无法启动? - 检查日志:`docker logs <container_id>` - 检查端口是否被占用:`netstat -tuln | grep 80` ### 2. 容器退出后如何重新运行? - 使用 `docker start <container_id>` ### 3. 如何保存容器状态? - 使用 `docker commit <container_id> new-image-name` --- ## 九、Docker Compose(多容器管理) 如果你需要运行多个容器(如数据库 + web 服务),可以使用 `docker-compose`。 ### 示例 `docker-compose.yml` 文件: ```yaml version: '3' services: web: build: . ports: - "5000:5000" db: image: postgres environment: POSTGRES_PASSWORD: example ``` ### 启动服务: ```bash docker-compose up -d ``` --- ## 十、总结 Docker 是开发、测试和部署应用的强大工具,其核心是: - **镜像(Image)**:静态模板 - **容器(Container)**:运行中的实例 - **Docker Hub**:镜像仓库 - **Docker Compose**:管理多容器应用 如果你有具体的应用场景或遇到问题,欢迎继续提问!
上一篇:
Docker 镜像使用
下一篇:
Docker容器日志
标题录入,一次不能超过6条
留言
评论