Loading

docker-ubuntu-python

一、windows下安装docker desktop

1.打开 控制面板 -> 程序 -> 启用或关闭Windows功能。找到“适用于Linux的Windows子系统”和“虚拟机平台”,勾选这两项之后确定,并重新启动计算机。

2.使用管理员用户打开CMD,运行:wsl --set-default-version 2

注意,有可能会出现如下提示:WSL 2 需要更新其内核组件。有关信息,请访问 https://aka.ms/wsl2kernel

按照提示下载wsl2的内核

3.打开Microsoft Store,搜索ubuntu并安装

4.验证Ubuntu是否在WSL2的环境下启动

以管理员身份运行:wsl -l -v

 NAME            STATE           VERSION
* Ubuntu-20.04    Running         2

出现以上信息说明已安装好。如果发现VERSION为1,说明Ubuntu运行在WSL1下。需要手工切换。

首先关闭WSL下运行的Linux,执行:wsl --shutdown然后执行:wsl --set-version <Linux发行版名称> 2其中Linux发行版名称为前面安装的Linux名称,可以通过wsl -l -v命令查看。

执行命令后等待片刻。等命令行提示转换完成,我们已经成功将Linux切换到WSL2环境。

5.最后直接按提示安装docker desktop

 

二、docker基本概念

1.什么是docker

Docker 是一个应用打包、分发、部署的工具,你也可以把它理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境,多余的一点都不要,而普通虚拟机则是一个完整而庞大的系统,包含各种不管你要不要的软件。


2.容器与镜像

镜像(container):可以理解为软件安装包,可以方便的进行传播和安装。

容器(image):软件安装后的状态,每个软件运行环境都是独立的、隔离的,称之为容器。

注:容器即为镜像的实例,一个镜像可以存在多个容器


3.打包、分发、部署

打包:就是把你软件运行所需的依赖、第三方库、软件打包到一起,变成一个安装包

分发:你可以把你打包好的“安装包”上传到一个镜像仓库,其他人可以非常方便的获取和安装

部署:拿着“安装包”就可以一个命令运行起来你的应用,自动模拟出一模一样的运行环境,不管是在 Windows/Mac/Linux。

 

三、创建一个ubuntu下的python镜像以及容器挂载

1.首先准备一个项目,HMM分词

2.在项目目录下创建一个名为Dockerfile的文件,并写入一些初始化命令,如下

FROM ubuntu:18.04
LABEL maintainer="<%= name:@emal.com %>"
ADD sources.list /etc/apt
RUN apt-get update
RUN apt-get install -y python3
RUN apt-get install -y python3-pip
RUN python3 -m pip install --upgrade pip
RUN pip3 install tqdm
RUN pip3 install numpy
ENV LANG C.UTF-8
ADD . /app
WORKDIR /app
CMD ["/bin/bash", "run.sh"]

3.在该目录下打开终端,输入命令:docker build -t test:v1 .即可创建一个镜像

4.在该目录下打开终端,输入命令:docker run -p 8080:8080 --name test-hello test:v1创建一个容器

5.在该目录下打开终端,输入命令:docker run --name test -it -v widnows下的绝对路径:/app -d test:v1创建一个挂载容器

挂载的作用:同步windows下项目文件的修改

6.几种挂载方式

  • bind mount 直接把宿主机目录映射到容器内,适合挂代码目录和配置文件。可挂到多个容器上
  • volume 由容器创建和管理,创建在宿主机,所以删除容器不会丢失,官方推荐,更高效,Linux 文件系统,适合存储数据库数据。可挂到多个容器上
  • tmpfs mount 适合存储临时文件,存宿主机内存中。不可多容器共享。

注:bind mount 方式用绝对路径 -v D:/code:/appvolume 方式,只需要一个名字 -v db-data:/app

 

四、遇到的问题

1.ubuntu下载源太慢

见参考链接一


2.容器无法使用中文

见参考链接四

 

五、常用命令

Dockerfile指令

查看源图像

 

参考:

在dockerfile中修改ubuntu仓库源

Docker 简介和安装

完美解决XDG_RUNTIME_DIR not set, defaulting to ‘/tmp/runtime-root‘

解决docker中的容器无法使用中文的问题

linux脚本 source: not found

Docker 实现挂载的三种方式

Win10 WSL2 安装Docker 

posted @ 2022-04-06 20:02  国家三级保护废物  阅读(278)  评论(0编辑  收藏  举报