Windows 中使用 Docker 构建 Python3 镜像作为开发环境

16 篇文章 0 订阅

一、前言

        之前开发都是在 Windows 上装 VMWare,VMWare 上运行 Ubuntu,然后在 Ubuntu 里面做开发。但这样也不太方便,每次进入开发环境都要先启动 VMWare,再启动 Ubuntu,然后打开命令行窗口开始开发,而且有时候需要在宿主机和虚拟机之间来回切换,也很麻烦。

        最近想用 Windows 自带的 Hyper-V 虚拟机,在 windows 上利用 Docker 运行一个 Ubuntu 镜像,在容器里搭建 Python 开发环境;

这样既解决了问题,也解决了 VMware 虚拟机的不方便之处。完美!!!

好文章 记得收藏+点赞+关注额 !!!

---- Nick.Peng


二、注意事项

需要注意的是,Windows 上安装 Docker 对系统有以下的要求:

  • 需要支持 Hyper-V 的 Windows 版本,Hyper-V 目前仅在 Windows 10 之后的版本支持;

  • BIOS 里需要启用 Virtualization(虚拟化);

三、安装Docker for Windows

  • 安装程序可以从这里下载 Docker for Windows;

  • 安装完之后,运行 Docker for Windows;

  • Docker 运行后,可以在状态栏里看到有一个 Docker 小鲸鱼的 Logo;

  • 打开命终端令行窗口,输入命令docker --version查看 Docker 版本,如图;
    在这里插入图片描述

四、下载 Ubuntu 基础镜像

  • docker hub上提供了很多 docker 镜像,我们以 ubuntu:16.04 为基础镜像,打造我们专属的 python 开发环境。运行以下命令拉取镜像:
    docker pull ubuntu:16.04
  • 下载完后,我们来查看一下本地的镜像,运行docker images,如图:
    在这里插入图片描述

五、安装常用工具和 Python 环境

  • 我们用这个 Ubuntu 镜像启动一个容器,并进到容器内的bash,运行以下命令:
    docker run -it ubuntu:16.04 bash
    Re: 我们的这个镜像现在只是一个最基本的 ubuntu 的系统,里面很多工具都没有,如ping、ifconfig、wget、vim等,也没有python。接下来我们把这些一个一个都装上。

  • 更改 apt 源为163或者清华的镜像源
    修改 /etc/apt/sources.list 的内容为下面的内容:

    deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
    deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
    deb-src http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse
    
  • 运行命令apt update,更新镜像源;

  • 安装ping,wget,ifconfig,vim等工具;
    apt install iputils-ping wget net-tools vim

  • 安装python3.6和pip,如图;
    sudo apt-get install python3-pip
    pip install --upgrade pip
    在这里插入图片描述


六、配置 VIM

  • 安装完工具后,我们来配置一下vim。打开~/.vimrc文件,输入vim的配置。比如我的配置是这样的

    set ru
    syntax on
    set background=dark
    set sw=4
    set ts=4
    set tabstop=4
    set shiftwidth=4
    set expandtab
    filetype plugin on
    set autoindent
    set smartindent
    set number
    set viminfo='10,\"100,:20,%,n~/.viminfo
    function! ResCur()
        if line("'\"") <= line("$")
            normal! g`"
            return 1
        endif
    endfunction
    
    augroup resCur
        autocmd!
        autocmd BufWinEnter * call ResCur()
    augroup END
    
    highlight WhiteSpaces ctermbg=green guibg=#55aa55
    match WhiteSpaces /\s\+$/
    

好了,至此,我们的开发环境配置好了。

七、提交镜像

  • 为方便以后的使用,我们把这个配置好的容器打成一个新的镜像。在容器中执行 exit 退出。

  • 在命令行窗口输入docker ps -a,查看一下我们刚刚配置好的容器,如图:
    在这里插入图片描述

  • 运行下面的命令,提交更改,将容器打包成一个新的镜像,如图
    docker commit a5fd118ed570 py0312/python3_dev:v1.0
    在这里插入图片描述

  • 查看一下刚刚提交的本地镜像
    在这里插入图片描述
    可以看到,现在我们本地有2个镜像了。下面一个是原始的 docker hub上的 ubuntu 镜像,上面一个就是我们自己定制的镜像。

  • 现在我们就可以基于我们定制的镜像,启动容器做开发了。启动容器很简单,只要运行
    docker run -it 1f6e4fbf7e7b bash
    小贴士: 这里也可以直接用pycharm 直接连接Docker启动容器。
    注意: 容器如果被删除了,其中的更改也会丢失。要保存容器中的更改,需要像上面这样把更改commit到镜像中。

八、推送镜像到 Docker Hub 个人仓库

为了开发方便起见,把上面生成的这个新镜像推送到我个人的 Docker Hub 仓库上,步骤如下:

  • 登录个人Docker hub,如图
    docker login --username=docker hub ID
    在这里插入图片描述
  • 推送本地镜像到 Docker Hub 仓库
    docker push py0312/python3_dev:v1.0
  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Docker是一种容器化技术,可以帮助我们快速搭建Python开发环境。以下是搭建步骤: 1. 安装Docker 首先需要安装Docker,可以在官网下载安装包进行安装。 2. 创建Docker镜像 使用Dockerfile创建Docker镜像Dockerfile是一个文本文件,其包含了构建镜像所需的指令和配置信息。可以在Dockerfile指定Python版本、安装依赖库等。 3. 运行Docker容器 使用Docker镜像创建Docker容器,可以在容器运行Python程序。可以使用docker run命令创建容器,并指定容器的名称、端口映射等。 4. 进入Docker容器 使用docker exec命令可以进入Docker容器,可以在容器执行Python程序、安装依赖库等操作。 以上是使用Docker搭建Python开发环境的基本步骤,可以根据实际需求进行配置和调整。 ### 回答2: Docker是一个轻量级容器虚拟化平台,通过Docker可以快速构建、发布和运行应用程序Docker具有兼容性好、可移植性高、资源占用小等特点,被广泛应用于软件开发和运维领域。 Python是一门非常流行的编程语言,应用广泛。搭建Python开发环境需要安装各种编译工具、库和依赖项,非常繁琐。使用Docker可以快速搭建Python开发环境,避免了环境配置的烦恼,提高了程序的可移植性和兼容性。 下面是使用Docker搭建Python开发环境的步骤: 1. 安装Docker 首先需要安装DockerDocker官网提供了详细的安装指南和下载地址,根据自己的操作系统版本选择相应的Docker安装包进行安装。 2. 创建Docker镜像 使用Dockerfile创建Docker镜像,可以让我们轻松地搭建Python开发环境,以下是Dockerfile的示例: ``` FROM python:3.7-slim-buster WORKDIR /myapp COPY requirements.txt . RUN apt-get update && \ apt-get install -y gcc && \ pip install -r requirements.txt CMD [ "/bin/bash" ] ``` 3. 构建Docker镜像Dockerfile所在的目录下执行以下命令,构建Docker镜像 ``` docker build -t my-python-app . ``` 其my-python-app是镜像名称,`.`表示当前目录。 4. 运行Docker容器 执行以下命令,启动容器 ``` docker run -it --name=my-python-container my-python-app /bin/bash ``` 其`my-python-container`是容器名称,`my-python-app`是镜像名称,`/bin/bash`是容器启动后执行的命令。 容器启动后,可以在容器使用Python进行开发,也可以通过端口映射将容器的服务开放给外部。开发完成后,可以通过docker stop命令停止容器。 使用Docker搭建Python开发环境,可以帮助我们快速搭建开发环境,避免各种繁琐的配置工作,提高开发效率。同时,Docker具有极高的可移植性和兼容性,可以让我们的程序更加稳定可靠。 ### 回答3: Docker是一款非常流行的容器化技术,它可以快速搭建开发环境。在使用Docker搭建Python开发环境之前,需要先了解以下几个概念: 1. Docker镜像Docker镜像是一个打包好的文件,类似于虚拟机镜像文件,其包含了开发环境所需的所有组件和配置。 2. Docker容器:Docker容器是Docker镜像的运行实例,可以理解为一个轻量级的虚拟机。 3. Dockerfile:Dockerfile是一个文本文件,其包含了构建Docker镜像所需的所有步骤和指令。 接下来就是具体的步骤: 1. 安装Docker:在官网下载Docker安装包并安装,具体的步骤可以参照官方文档。 2. 创建Dockerfile:在本地创建一个文件夹,创建Dockerfile并编写如下内容: ``` FROM python:3.8 WORKDIR /app ADD . /app RUN pip install --upgrade pip RUN pip install -r requirements.txt CMD ["python", "app.py"] ``` 其,FROM指令指定了使用Python版本,WORKDIR指定了工作目录,ADD指令将当前目录下的所有文件添加到镜像,RUN指令用来执行命令。requirements.txt文件是保存依赖包的文件。 3. 构建Docker镜像:在Dockerfile所在的目录执行以下命令: ``` docker build -t my-python-app . ``` 其,my-python-app是镜像的名称,最后的“.”表示Dockerfile所在的当前目录。 4. 运行Docker容器:执行以下命令即可启动容器: ``` docker run -d -p 80:80 my-python-app ``` 其,-d表示以守护进程模式启动容器,-p指定了一个端口映射,my-python-app是要启动的镜像名称。 5. 验证容器是否正常运行:在浏览器输入http://localhost,可以看到Python应用程序的输出。 以上就是使用Docker搭建Python开发环境的具体步骤,通过Docker,我们可以快速、简单地搭建开发环境,使得开发者可以更加专注于业务逻辑的实现,而不必担心开发环境的配置和兼容性问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值