首页 > 其他分享 >win10中Docker安装、构建镜像、创建容器、Vscode连接实例

win10中Docker安装、构建镜像、创建容器、Vscode连接实例

时间:2023-08-13 21:44:05浏览次数:47  
标签:RUN Vscode 创建 python conda win10 镜像 Docker

  Docker方便一键构建项目所需的运行环境:首先构建镜像(Image)。然后镜像实例化成为容器(Container),构成项目的运行环境。最后Vscode连接容器,方便我们在本地进行开发。下面以一个简单的例子介绍在win10中实现:Docker安装、构建镜像、创建容器、Vscode连接使用。

Docker安装

  首先进入官网安装Docker软件。安装好打开可能会出现错误:

  1、让更新WSL:直接在cmd中输入命令 WSL --update更新即可。

  2、An unexpected error was encountered while executing a WSL command... 看:

  https://zhuanlan.zhihu.com/p/633252579

  修复以上错误之后一般就能进入Docker界面了。

创建镜像

  镜像的创建通常在Dockerfile文件中写成代码的形式,以下举例一个简单的镜像创建代码:

# 使用官方 Ubuntu 镜像进行初始化
FROM ubuntu:22.04

# 设置容器目前的工作目录
WORKDIR /app

# Let the python output directly show in the terminal without buffering it first.
ENV PYTHONUNBUFFERED=1

# 更新包以及安装必要的依赖
RUN apt-get update && apt-get install -y \
  wget \
  git \
  bzip2 \
  libglib2.0-0 \
  libxext6 \
  libsm6 \
  libxrender1 \
  make\
  g++ 
RUN rm -rf /var/lib/apt/lists/*

# 安装最新版本miniconda
RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh \
  && bash Miniconda3-latest-Linux-x86_64.sh -b -p /opt/conda \
  && rm Miniconda3-latest-Linux-x86_64.sh 
ENV PATH /opt/conda/bin:$PATH

# 使用conda创建一个新的python环境HelloDocker
RUN conda create -n HelloDocker python=3.9.7
# 初始化bash shell从而 'conda activate' 可以马上使用
RUN conda init bash

# 激活conda环境
RUN echo "conda activate HelloDocker" >> ~/.bashrc
ENV PATH /opt/conda/envs/HelloDocker/bin:$PATH

# 复制本地当前目录的 requirement.txt 文件到容器的app文件夹中
COPY requirements.txt /app

# 设置pip的镜像源为清华源
RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# 根据 requirement.txt 为 python 安装各种包
RUN /bin/bash -c "source ~/.bashrc && pip install --no-cache-dir -r requirements.txt"

  然后在Dockerfile目录下使用如下命令即可创建镜像:

docker build -t hello-docker .

  以上代码创建了一个Ubuntu系统镜像。除了系统镜像之外,还可以只创建python环境镜像,具体可以查询ChatGPT。以上代码需要去外国镜像网站下载Ubuntu的镜像文件,可能很慢,因此可以在Docker软件设置中修改镜像源,在json中添加:

  "registry-mirrors": [
    "https://xxxxx.mirror.aliyuncs.com",
    "http://hub-mirror.c.163.com"
  ]

  即修改为清华源。

创建容器及Vscode连接

  镜像创建好之后,Vscode先安装Docker插件,然后在需要使用容器运行的项目工作目录下,创建目录.devcontainer,并在该目录下创建devcontainer.json文件,填写容器创建配置:

{
    "name": "HelloDocker Container",
    "image": "hello-docker", // 替换为你构建的Docker镜像名称
    "extensions": ["ms-python.python"],
    "settings": {
      "python.pythonPath": "/opt/conda/envs/HelloDocker/bin/python"
    }
}

  以上配置表示,使用我们前面已经创建的名为hello-docker的镜像创建名为HelloDocker Container的容器。之后点击VsCode右下角的绿色图标"><",点击“在容器中重新打开”。等待容器创建好之后,即可使用Vscode在相应的容器环境中进行开发了。

标签:RUN,Vscode,创建,python,conda,win10,镜像,Docker
From: https://www.cnblogs.com/qizhou/p/17627232.html

相关文章

  • docker网络 bridge 与overlay 模式
    转载请注明出处:1.bridge网络模式工作原理: 在Bridge模式中,Docker通过创建一个虚拟网络桥接器(bridge)将容器连接到主机上的物理网络接口。每个容器都会被分配一个IP地址,使得它们可以相互通信,并且可以与主机进行通信。Docker的Bridge网络模式是默认的网络配置选项,它提供了容......
  • 打造 VSCode 高效 C++ 开发环境的必备插件
    工欲善其事,必先利其器C++clangd:代码补全、跳转、clang-tidy检查,自带clang-formatCodeLLDB:LLVM的调试器(类比GDB)CMakeCMakeTools文档DoxygenDocumentationGenerator:自动生成doxygen注释PlantUML:Alt+D直接预览plantumlMarkdownPanguMarkdown:自动在中英文......
  • VSCode C++开发环境配置:CMake 调试配置 launch.json
    相关内容VSCodeC++开发环境配置:LLVMclangclangd安装cmakesudoaptinstallcmake安装VSCode插件CMakeCMakeTools编写CMakeLists.txtproject(hello)cmake_minimum_required(VERSION3.15.0)set(CMAKE_CXX_STANDARD17)set(CMAKE_CXX_EXTENSIONSOFF)add......
  • 本地启动 ABAP Platform Trial 的 Docker 命令行程序
    Docker是一个开源的容器化平台,用于轻松地构建、发布和运行应用程序。DockerDesktop是适用于Windows和Mac的Docker桌面应用程序,它允许用户在本地运行和管理容器化应用程序。在本文中,我们将详细介绍以下两个命令行并解释每个参数的含义:dockerpullsapse/abap-platform-trial:190......
  • Windows10下安装docker 并启动 rabbitmq
    1.官网下载docker:https://hub.docker.com/editions/community/docker-ce-desktop-windows 2.安装docker:运行下载好的DockerforWindowsInstaller.exe 3.安装好后启动docker: 4.修改成国内镜像仓库:https://q3a36twa.mirror.aliyuncs.com  5.拉取rabbitmq,在cmd窗......
  • Docker入门
    一、安装1、linux安装(老师的方法:)https://blog.csdn.net/jeffleo/article/details/709043682、内核升级(CentOS6.X升级内核至3.10)https://blog.csdn.net/jeffleo/article/details/709041503、阿里云的docker镜像仓库https://c.163yun.com/hub#/m/library/https://......
  • 使用 Docker 部署 Mongodb
    Mongodb是最像关系型数据库的NoSql数据库,其数据类型非常丰富,数据结构松散,采用类似Json的Bson二进制格式存储数据,还支持对索引功能。主要应用在数据量大、读多写少或者读写都比较频繁、数据价值较低的场景中,如果社交平台的点赞和评论、游戏、物流信息和轨迹存储等。由于在......
  • Docker
    1.Dockocker是 PaaS 提供商dotCloud开源的一个基于 LXC 的高级容器引擎;Docker是基于Go语言开发的开源项目www.docker.com 文档为https://docs.docker.com(文档超级详细)仓库地址:https://hub.docker.com  VM与Docker的不同:VM,虚拟出一套硬件,运行完整的操......
  • Docker配置Web
    Docker配置Web一、安装Docker安装步骤详见:Ubuntu20.04安装DockerDocker构建nginx+uwsgi+flask镜像(二)Docker容器化部署Flask项目+Gunicorn+Nginx二、方法一:搭建服务1、抓取镜像抓取最新镜像:$dockerpullubuntu抓取指定版本镜像:$dockerpullubuntu:18.04......
  • Docker
    Docker[Docker教程](Docker教程|菜鸟教程(runoob.com))[Docker入门教程](Docker入门教程-阮一峰的网络日志(ruanyifeng.com))简介软件开发最大的麻烦事之一,就是环境配置。用户计算机的环境都不相同,要保证自家的软件能在那些机器跑起来,用户必须保证两件事:操作系统......