Docker的快速使用(例子为docker python环境)

Docker 容器虚拟化技术 软件带环境安装

  • 注:可能在windows中使用会报错,但是我因为再此之前安装过WLS,所以没有任何报错
  • WTG: Windows10企业版中安装Docker
  • windows 中一般需要开启“启用或关闭Windows功能”中的 “Hyper-V”(但是某些手机模拟器和老版本的VMware需要关闭此功能运行)

安装与换源

  • 下载(其中服务端的没有界面)下载之后点击安装即可,安装完只后重启windows。注:一台电脑上虚拟机好像不能与docker同时运行
  • 安装完点击Restart,自动重启电脑
  • 打开后在设置里添加镜像加速源 Docker Engine https://registry.docker-cn.com
{ "registry-mirrors": [
    "https://registry.docker-cn.com",
    "https://hub-mirror.c.163.com",
    "https://ustc-edu-cn.mirror.aliyuncs.com",
    "https://mirror.baidubce.com"
  ],
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": false
  }
}

安装一个镜像

获取别人的镜像

  • 去docker的镜像仓库https://hub.docker.com/
  • 比如直接搜索python
  • 进入想安装的镜像的界面
  • 点击tags,tags界面如下:

Docker的快速使用(例子为docker python环境)_第1张图片

  • 复制docker命令,拉取别人的镜像:docker pull python:3.7.13
  • 在任何路径下,shift+鼠标右键:运行powershell
  • 运行命令即可,运行完成只后即可在Docker软件中的Image部分看到新增的镜像

pytorch的镜像

或者 自己使用Dockerfile创建一个镜像

我的“python”文件夹

----python
--|
  |--Dockerfile
  |--requirements.txt
  |--test.py

Dockerfile中的内容

FROM python:3.7.13

WORKDIR ./

COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

CMD [ "python", "./test.py" ]

requirements.txt(为空)


test.py

for i in range(100000):
    print(1)

在python目录中,shift+右键,打开powershell,执行:

docker build -t test .  # 就会像pull一样进行下载与创建镜像

docker run test

注:可在 https://hub.docker.com/_/python中“How to use this image”部分找到Dockerfile文件中的命令

FROM python:3

WORKDIR /usr/src/app

COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

CMD [ "python", "./your-daemon-or-script.py" ]

进一步操作

向docker容器拷贝文件

docker ps -a # 找到CONTAINER ID
# 运行结果
CONTAINER ID   IMAGE           COMMAND     CREATED          STATUS          PORTS     NAMES
3aa7b7b18f6f   python:3.7.13   "python3"   30 minutes ago   Up 30 minutes             mystifying_meitner
# 在powershell中运行命令
## copy 主机->容器
docker cp test.py 3aa7b7b18f6f:/
## copy 容器->主机
docker cp 3aa7b7b18f6f:/bin   ./ # 用docker cp  mystifying_meitner:/bin   ./同样

或将目录挂载到Docker

挂载目录:docker run  -v D:/python:/mnt python:3.7.13 # /mnt /为linux目录格式 
挂载目录:docker run  -v D:/python:/mnt python:3.7.13# -v 本地目录:/容器目录 镜像名称:镜像tag  
挂载目录有多种方式,这只是一种方式
# 解决闪退问题
docker run -it --name test -v **:/mnt -p 5000:5000 node5000:latest

ps:发现在编辑器种输入:/ 会变成

导出环境(可以发给他人直接运行)

****/python> docker images  #查看
REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
python       3.7.13    27599ef95971   2 days ago   906MB

****/python>docker save python -o python37.tar
然后在执行代码的路径下会出现一个python37.tar文件

加载环境

****/python>docker load -i python37.tar

如果使用pip命令,建议在使用前换源

python 换源:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

参考与更多

https://www.urlos.com/docker/thread-89652-1-1.html
报错:failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to do request: Head "https://registry.docker-cn.com/v2/library/python/manifests/3?ns=docker.io": unable to connect to 106.14.52.175:443. Do you need an HTTP proxy?
解决:https://www.jianshu.com/p/56241136130d


Docker 创建paddlepaddle https://blog.csdn.net/sinat_41581976/article/details/121069031
【【Docker】Dockerfile用法全解析-哔哩哔哩】 https://b23.tv/a5JfHo7
[windows端的portable版本,需要安装virtual box ](https://portapps.io/app/docker-toolbox-portable/)

docker快速应用

1.Docker 网络端口的映射:局域网文件传输

写给孩子看的 Kubernetes 动画指南【中英字幕】

你可能感兴趣的:(网站集,cnn)