docker学习记录:创建python环境,使用vscode连接远程docker环境,使其访问同为docker镜像的mongodb的设置。

0.停止目前的库及展示当前的镜像。

1. 创建docker网络

复制代码
kt@kt-SYS-4028GR-TR2:~$ docker network create py-mongo
d221295e855a49217aab50100d7560d7c77a3c6a5e65583199ff775e0784dbdf

2.启动mongo容器

复制代码
docker run -d --name my-mongodb --network py-mongo -v ~/my-mongodata:/data/db mongo

3.创建docker环境

3.1. 创建 Dockerfile• 在你的项目目录中创建一个 Dockerfile ,内容如下:

复制代码
FROM python:latest

# 设置工作目录
WORKDIR /app

# 挂载代码目录
VOLUME /app

# 设置国内 pip 源
RUN mkdir -p /root/.pip && \
    echo "[global]" > /root/.pip/pip.conf && \
    echo "index-url = https://pypi.tuna.tsinghua.edu.cn/simple" >> /root/.pip/pip.conf

# 安装 pymongo
RUN pip install pymongo

3.2. 构建 Docker 镜像• 在项目目录中运行以下命令构建 Docker 镜像:

复制代码
docker build -t python-dev .

kt@kt-SYS-4028GR-TR2:~$ docker build -t python-dev .

+\] Building 85.9s (8/8) FINISHED docker:default =\> \[internal\] load build definition from Dockerfile 0.0s =\> =\> transferring dockerfile: 357B 0.0s =\> \[internal\] load metadata for docker.io/library/python:latest 4.4s =\> \[internal\] load .dockerignore 0.0s =\> =\> transferring context: 2B 0.0s =\> \[1/4\] FROM docker.io/library/python:latest@sha256:cea505b81701dd9e46b8dde96eaa8054c4bd2035dbb660edeb7af947ed38a0ad 75.2s =\> =\> resolve docker.io/library/python:latest@sha256:cea505b81701dd9e46b8dde96eaa8054c4bd2035dbb660edeb7af947ed38a0ad 0.0s =\> =\> sha256:54c7be425079efba0003054ee884bf72f1ffebca733bedd6f077d2809ee9aa6f 23.87MB / 23.87MB 8.7s =\> =\> sha256:7f17499b3a00d0b82c06c5e2e1e7e8f781cc08e7368216ba259365833e12faf2 5.92kB / 5.92kB 0.0s =\> =\> sha256:0a96bdb8280554b560ffee0f2e5f9843dc7b625f28192021ee103ecbcc2d629b 48.50MB / 48.50MB 23.9s =\> =\> sha256:7aa8176e6d893aff4b57b2c22574ec2afadff4673b8e0954e275244bfd3d7bc1 64.39MB / 64.39MB 31.5s =\> =\> sha256:cea505b81701dd9e46b8dde96eaa8054c4bd2035dbb660edeb7af947ed38a0ad 9.72kB / 9.72kB 0.0s =\> =\> sha256:e126f262949ae23c48205532f7459901a0f593b7af6aef0bea051fde0e75df3f 2.32kB / 2.32kB 0.0s =\> =\> sha256:1523f4b3f5602bf41caf8d8e649536ac0b3e56984c81a9f518fb20c6516ca075 211.31MB / 211.31MB 61.2s =\> =\> sha256:e0c71cd0fc9fd854e40e9bf32f375b895cb39af804f151e20c7072f7da577797 6.16MB / 6.16MB 28.1s =\> =\> extracting sha256:0a96bdb8280554b560ffee0f2e5f9843dc7b625f28192021ee103ecbcc2d629b 3.6s =\> =\> extracting sha256:54c7be425079efba0003054ee884bf72f1ffebca733bedd6f077d2809ee9aa6f 1.1s =\> =\> sha256:e1cffcff32633ccc4a30c2704b606fa504a80ba99ba73b041821e312885932c4 27.30MB / 27.30MB 38.3s =\> =\> sha256:065735b4a200d1a2b200f874a83ff2c94966f67b25db69fbc24e8c14e56a7709 249B / 249B 31.9s =\> =\> extracting sha256:7aa8176e6d893aff4b57b2c22574ec2afadff4673b8e0954e275244bfd3d7bc1 4.4s =\> =\> extracting sha256:1523f4b3f5602bf41caf8d8e649536ac0b3e56984c81a9f518fb20c6516ca075 11.7s =\> =\> extracting sha256:e0c71cd0fc9fd854e40e9bf32f375b895cb39af804f151e20c7072f7da577797 0.5s =\> =\> extracting sha256:e1cffcff32633ccc4a30c2704b606fa504a80ba99ba73b041821e312885932c4 1.4s =\> =\> extracting sha256:065735b4a200d1a2b200f874a83ff2c94966f67b25db69fbc24e8c14e56a7709 0.0s =\> \[2/4\] WORKDIR /app 1.1s =\> \[3/4\] RUN mkdir -p /root/.pip \&\& echo "\[global\]" \> /root/.pip/pip.conf \&\& echo "index-url = https://pypi.tuna.tsinghua.ed 0.2s =\> \[4/4\] RUN pip install pymongo 4.6s =\> exporting to image 0.4s =\> =\> exporting layers 0.4s =\> =\> writing image sha256:7ef1d2faf802b1908e6d87355d73ec82b227e695326506b9d794d73587bf3381 0.0s =\> =\> naming to docker.io/library/python-dev

3.3. 启动 Python 容器• 启动 Python 容器,并将其连接到 py-mongo 网络:

复制代码
docker run -itd --name my-python-dev --network py-mongo -v ~/mycode:/app python-dev /bin/bash

4.pycharm设置

0.先安装docker插件

1. 配置 PyCharm•

打开 PyCharm,进入 File -> Settings -> Build, Execution, Deployment -> Docker 。• 点击右上角的 + 添加 Docker 服务器配置,选择 Docker for Windows 或 Docker for Mac ,根据你的操作系统选择合适的选项。

2. 新建项目并配置解释器•

在 PyCharm 中新建一个项目,选择 Docker 作为解释器类型。• 在解释器配置中,选择 python-dev 容器作为解释器来源。

3.只有专业版才可以。放弃

5.vscode及相关设置

0.安装 VSCode 插件•

打开 VSCode,点击左侧活动栏的"扩展"图标(或按 Ctrl+Shift+X )。• 搜索并安装以下插件:• Python:提供 Python 开发支持。• Docker:提供 Docker 集成支持。• Dev Containers:允许你在 Docker 容器中直接开发。

如果个别不好用。找差不多的替换。

1. 打开 VSCode• 启动 VSCode,并打开你的项目目录。

2. 连接到 Docker 容器• 在左侧活动栏中,点击 Docker 图标。

• 找到 python-dev 容器,右键点击并选择 Attach Visual Studio Code ,这样你就可以在 Docker 容器中进行开发。

3.代码编写

  1. 新建 mymongo.py 文件• 在 VSCode 中新建一个名为 mymongo.py 的文件,内容如下:

    from pymongo import MongoClient

    def connect_mongo():
    client = MongoClient('mongodb://mongodb:27017/')
    db = client['testdb']
    collection = db['testcollection']
    return collection

  2. 新建 main.py 文件• 新建一个名为 main.py 的文件,内容如下:

    from mymongo import connect_mongo
    import random

    def main():
    collection = connect_mongo()
    data = {'number': random.randint(1, 100)}
    collection.insert_one(data)
    print(f"Inserted data: {data}")

    if name == "main":
    main()

3.测试并 commit 镜像1. 测试代码• 在 VSCode 中运行 main.py ,检查是否能成功连接到 MongoDB 并插入数据。2. commit 镜像• 测试成功后,使用以下命令将容器保存为新的镜像:

复制代码
docker commit -m "Updated with new modules and code" -a "Your Name" python-dev new_python_dev

总结通过以上步骤,你可以在 VSCode 中创建一个 Docker Python 开发环境,连接到 MongoDB,并进行开发和测试。VSCode 的 Docker 插件和 Remote - Containers 插件使得在容器中开发变得更加简单和高效。

以上测试记录。

相关推荐
天水幼麟2 小时前
动手学深度学习-学习笔记(总)
笔记·深度学习·学习
天水幼麟4 小时前
动手学深度学习-学习笔记【二】(基础知识)
笔记·深度学习·学习
沧海一笑-dj5 小时前
【51单片机】51单片机学习笔记-课程简介
笔记·学习·51单片机·江科大·江科大学习笔记·江科大单片机·江科大51单片机
cui_hao_nan5 小时前
Docker后端部署
运维·docker·容器
老虎06275 小时前
JavaWeb(苍穹外卖)--学习笔记04(前端:HTML,CSS,JavaScript)
前端·javascript·css·笔记·学习·html
大苏打seven6 小时前
Docker学习笔记:Docker网络
笔记·学习·docker
小张是铁粉6 小时前
docker在Linux的安装遇到的问题
linux·docker·容器
Green1Leaves8 小时前
pytorch学习-9.多分类问题
人工智能·pytorch·学习
慕y2748 小时前
Java学习第十五部分——MyBatis
java·学习·mybatis
没有名字的小羊8 小时前
8.Docker镜像讲解
运维·docker·容器·tomcat