前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >docker笔记2023.8.4

docker笔记2023.8.4

作者头像
用户7138673
发布2023-08-16 21:54:19
5730
发布2023-08-16 21:54:19
举报
文章被收录于专栏:大大的小数据

参考:

1、https://mp.weixin.qq.com/s/pgVdhZMyKDfd5xz1YuMtTA

2、https://mp.weixin.qq.com/s/xDOAVftQAPEsjf8SG_CIdg

3、https://mp.weixin.qq.com/s/Q2T7KeE9YCf98qiQKRewMw

4、

一、在window上安装docker

1、虚拟化功能?

2、下载&安装

https://docs.docker.com/desktop/install/windows-install/

3、虚拟化什么时候已经开了?

4、

5、

6、重启,报病毒

7、

8、

这主要是wsl的版本过于的原因,通过下面这个链接下面最新的wsl安装即可

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

9、

10、接着开始为docker配置镜像加速

代码语言:javascript
复制
{
 "registry-mlrrors":[
  "https://docker.nirrors.ustc.edu.cn/"
],
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false
}

11、在安装完成以后,现在可以在windows中使用Docker了,WIN+R打开命令窗口输入命令:docker version验证Docker是否安装成功,出现如下信息则证明已经完成

12、服务器出错

13、https://blog.csdn.net/m0_56525972/article/details/129419107?ops_request_misc=&request_id=&biz_id=102&utm_term=Docker%20Desktop%20-%20Unexpected%20wS&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-129419107.142^v92^controlT0_2&spm=1018.2226.3001.4187

无法解决

14、 https://blog.csdn.net/u010753376/article/details/130985889?ops_request_misc=&request_id=&biz_id=102&utm_term=Docker%20Desktop%20-%20Unexpected%20wS&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-130985889.142^v92^controlT0_2&spm=1018.2226.3001.4187

代码语言:javascript
复制
wsl -l #list wsl installed
wsl --update
netsh winsock reset

无法解决

15、

自动停止、退出

卸载

16、

17、

18、

19、

代码语言:javascript
复制
当然,您可以使用Docker来容器化您的Flask应用。以下是一个简单的步骤,帮助您使用Docker Desktop进行操作:

1. **创建Dockerfile**:在您的`flask2023.8.4.py`所在的目录中创建一个名为`Dockerfile`的文件。在此文件中,您将定义容器的配置。这里是一个基本示例:
    ```Dockerfile
    FROM python:3.8
    WORKDIR /app
    COPY . /app
    RUN pip install Flask
    CMD ["python", "flask2023.8.4.py"]
    ```

2. **构建Docker镜像**:
   - 打开Docker Desktop。
   - 打开终端,转到`flask2023.8.4.py`所在的目录。
   - 运行以下命令来构建镜像:
        ```bash
        docker build -t flask2023 .
        ```

3. **运行容器**:您可以使用以下命令运行您的容器:
    ```bash
    docker run -p 5000:5000 flask2023
    ```

4. **通过Docker Desktop监视**:在Docker Desktop界面中,您可以看到正在运行的容器,还可以进行停止、启动和删除等操作。

5. **访问应用**:如果您的Flask应用配置为在端口5000上运行,您可以通过浏览器访问`http://localhost:5000`来访问您的应用。

请注意,这些步骤假设您的Flask应用是非常基本的,并且不依赖于任何外部数据库或其他服务。如果您的应用有额外的依赖项,您需要在Dockerfile中加入相应的安装步骤。

这些步骤大致涵盖了使用Docker Desktop来容器化Flask应用的过程。如果您有任何特定的需求或问题,请随时询问!

20、

21、

代码语言:javascript
复制
Microsoft Windows [版本 10.0.19045.3208]
(c) Microsoft Corporation。保留所有权利。

C:\Users\Administrator\Desktop\test>docker build -t flask2023 .
[+] Building 62.1s (9/9) FINISHED                                                                        docker:default
 => [internal] load .dockerignore                                                                                  0.0s
 => => transferring context: 2B                                                                                    0.0s
 => [internal] load build definition from Dockerfile                                                               0.0s
 => => transferring dockerfile: 138B                                                                               0.0s
 => [internal] load metadata for docker.io/library/python:3.8                                                      5.4s
 => [1/4] FROM docker.io/library/python:3.8@sha256:5416fd3804f4487fb5ede7f137d6b6aa299e4026d68a344f77c094bb094f1  46.1s
 => => resolve docker.io/library/python:3.8@sha256:5416fd3804f4487fb5ede7f137d6b6aa299e4026d68a344f77c094bb094f18  0.0s
 => => sha256:0e415e6e4f2e754146e2a279a3d14729e898b6dc936d9d75897f168e564170e8 2.01kB / 2.01kB                     0.0s
 => => sha256:5a6dad8f55ae6c733e986316bd08205c8b2c41640bf8d08ff6e9bbcb6884304f 24.03MB / 24.03MB                   5.1s
 => => sha256:bd36c7bfe5f4bdffcc0bbb74b0fb38feb35c286ea58b5992617fb38b0c933603 64.11MB / 64.11MB                   7.7s
 => => sha256:5416fd3804f4487fb5ede7f137d6b6aa299e4026d68a344f77c094bb094f182d 1.86kB / 1.86kB                     0.0s
 => => sha256:59fba57a2dd4713b8505b97d2cc20b1f467cb5d3c317a226c2af9f3a55e3a0fc 7.56kB / 7.56kB                     0.0s
 => => sha256:785ef8b9b236a5f027f33cae77513051704c0538bff455ff5548105c954c3b1c 49.56MB / 49.56MB                   6.6s
 => => sha256:4d207285f6d296b9806bd00340437406c25207412c52fcfcbf229a5ecff7bf94 211.03MB / 211.03MB                36.2s
 => => sha256:9402da1694b8dae94a0cb89a2719ce24a909e809b22c31d39edee8e18b3d300b 6.39MB / 6.39MB                     7.5s
 => => extracting sha256:785ef8b9b236a5f027f33cae77513051704c0538bff455ff5548105c954c3b1c                          4.2s
 => => sha256:de2a4d382c634466488d47cdefc1f8f26659778d4627fcafc63918c856a6e9cd 17.28MB / 17.28MB                  11.4s
 => => sha256:c5ff3649cf7981cf4e64984b76381c844ead1d5d4fa1e9434d892ee96027edf1 246B / 246B                         8.3s
 => => sha256:8f080290b96ab243adb3ef41f0acdd22321e9201062ce8446b09b3f893cfccc9 2.85MB / 2.85MB                     9.0s
 => => extracting sha256:5a6dad8f55ae6c733e986316bd08205c8b2c41640bf8d08ff6e9bbcb6884304f                          0.9s
 => => extracting sha256:bd36c7bfe5f4bdffcc0bbb74b0fb38feb35c286ea58b5992617fb38b0c933603                         24.2s
 => => extracting sha256:4d207285f6d296b9806bd00340437406c25207412c52fcfcbf229a5ecff7bf94                          8.1s
 => => extracting sha256:9402da1694b8dae94a0cb89a2719ce24a909e809b22c31d39edee8e18b3d300b                          0.3s
 => => extracting sha256:de2a4d382c634466488d47cdefc1f8f26659778d4627fcafc63918c856a6e9cd                          0.6s
 => => extracting sha256:c5ff3649cf7981cf4e64984b76381c844ead1d5d4fa1e9434d892ee96027edf1                          0.0s
 => => extracting sha256:8f080290b96ab243adb3ef41f0acdd22321e9201062ce8446b09b3f893cfccc9                          0.3s
 => [internal] load build context                                                                                  0.0s
 => => transferring context: 470B                                                                                  0.0s
 => [2/4] WORKDIR /app                                                                                             0.1s
 => [3/4] COPY . /app                                                                                              0.0s
 => [4/4] RUN pip install Flask                                                                                   10.2s
 => exporting to image                                                                                             0.1s
 => => exporting layers                                                                                            0.1s
 => => writing image sha256:243d8f64f03b793a85a307b584e1c81be109221c4fd929faeec9d5dca765f819                       0.0s
 => => naming to docker.io/library/flask2023                                                                       0.0s

What's Next?
  View summary of image vulnerabilities and recommendations → docker scout quickview

C:\Users\Administrator\Desktop\test>
C:\Users\Administrator\Desktop\test>

22、

代码语言:javascript
复制
当然,下面是刚刚给出的构建Docker容器过程的中文翻译:

Microsoft Windows [版本 10.0.19045.3208]
(c) Microsoft Corporation。保留所有权利。

C:\Users\Administrator\Desktop\test>docker build -t flask2023 .
[+] 构建62.1秒(9/9)已完成                                                                                      docker:default
 => [内部] 加载 .dockerignore 文件                                                                                 0.0秒
 => => 传送上下文:2B                                                                                            0.0秒
 => [内部] 从Dockerfile加载构建定义                                                                                0.0秒
 => => 传送dockerfile:138B                                                                                      0.0秒
 => [内部] 加载docker.io/library/python:3.8的元数据                                                               5.4秒
 => [1/4] 从docker.io/library/python:3.8@sha256:5416fd3804f4487fb5ede7f137d6b6aa299e4026d68a344f77c094bb094f  46.1秒
 => => 解析docker.io/library/python:3.8@sha256:5416fd3804f4487fb5ede7f137d6b6aa299e4026d68a344f77c094bb094f18  0.0秒
 => => 等等,还有其他文件正在传输和提取中。
 => [2/4] 工作目录 /app                                                                                           0.1秒
 => [3/4] 复制 . /app                                                                                            0.0秒
 => [4/4] 运行 pip install Flask                                                                                 10.2秒
 => 导出至镜像                                                                                                   0.1秒
 => => 导出层                                                                                                    0.1秒
 => => 写入镜像sha256:243d8f64f03b793a85a307b584e1c81be109221c4fd929faeec9d5dca765f819                       0.0秒
 => => 命名为docker.io/library/flask2023                                                                         0.0秒

接下来是什么?
  查看镜像漏洞的摘要和推荐 → docker scout quickview

C:\Users\Administrator\Desktop\test>
C:\Users\Administrator\Desktop\test>翻译为中文

这段文字描述了使用Docker构建名为"flask2023"的容器的过程。从中,你可以看到各种不同的步骤,包括加载Dockerignore文件、从Dockerfile加载构建定义、设置工作目录、复制文件、运行安装命令,以及最后导出镜像。

23、

代码语言:javascript
复制
C:\Users\Administrator\Desktop\test>docker run -p 5000:5000 flask2023
 * Serving Flask app 'flask2023.8.4'
 * Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:8888
 * Running on http://172.17.0.2:8888
Press CTRL+C to quit

24、

代码语言:javascript
复制
从你提供的输出中,容器并没有报错。它成功地运行了Flask应用,并且在所有地址(0.0.0.0)上启动了开发服务器,同时还在特定的IP地址(例如127.0.0.1:8888和172.17.0.2:8888)上运行。

请注意,该信息中有一条警告,指出这是一个开发服务器,不应在生产环境中使用。建议使用适合生产环境的WSGI服务器来运行该应用。

总的来说,容器看起来运行正常,没有报错。如果你在应用中遇到具体问题,你可能需要查看应用的日志或进一步检查代码来诊断问题。

25、

代码语言:javascript
复制
检查代理服务器和防火墙
ERR_CONNECTION_REFUSED,是不是要把容器放到Docker Desktop中?如何操作

26、

27、

代码语言:javascript
复制
当然!将上述代码保存为`test.py`后,你可以按照以下步骤将其打包为Docker容器并运行。

1. **创建 Dockerfile**:
   在`test.py`文件的同一目录中,创建一个名为`Dockerfile`的文件,内容如下:

   ```dockerfile
   # 使用官方的Python基础镜像
   FROM python:3.8-slim

   # 设置工作目录
   WORKDIR /usr/src/app

   # 将当前目录的内容复制到容器的工作目录中
   COPY . .

   # 运行Python程序
   CMD ["python", "./test.py"]
   ```

2. **构建 Docker 镜像**:
   打开命令行窗口,转到包含`Dockerfile`和`test.py`的目录,然后运行以下命令:

   ```bash
   docker build -t test_image .
   ```

   这将构建一个名为`test_image`的Docker镜像。

3. **运行 Docker 容器**:
   使用以下命令运行你刚刚构建的Docker容器:

   ```bash
   docker run -it test_image
   ```

   这会启动容器并运行你的Python程序`test.py`,你将可以按照提示输入数字并查看结果。

4. **停止和删除容器**(可选):
   当你不再需要运行容器时,你可以停止并删除它。首先,找到容器的ID或名称,然后使用以下命令:

   ```bash
   docker stop container_id_or_name
   docker rm container_id_or_name
   ```

请确保在进行上述操作之前,你已经在你的计算机上安装了Docker,并且具有必要的权限来构建和运行容器。如果你遇到任何问题或需要进一步的指导,请随时询问!

28、如何查看正在运行的docker,如何关闭运行的容器?

29、

代码语言:javascript
复制
谢谢你的赞扬!Docker确实是一个强大和灵活的工具。至于如何找到你刚才构建的Docker镜像并将其移动到其他电脑上,可以按照以下步骤操作:

1. **保存Docker镜像为tar文件**:
   你可以使用`docker save`命令将镜像保存为tar文件。在命令行中,运行以下命令:

   ```bash
   docker save -o test_image.tar test_image
   ```

   这将创建一个名为`test_image.tar`的文件,其中包含名为`test_image`的Docker镜像。

2. **将tar文件复制到其他电脑**:
   你可以使用USB驱动器、网络共享或其他传输方法将`test_image.tar`文件复制到其他电脑上。

3. **在目标电脑上加载Docker镜像**:
   在其他电脑上,你可以使用`docker load`命令从tar文件加载镜像。首先,确保tar文件位于当前目录或指定正确的路径,然后运行以下命令:

   ```bash
   docker load -i test_image.tar
   ```

   这将在目标电脑上加载名为`test_image`的Docker镜像。

4. **运行Docker容器**:
   现在,你可以在新电脑上使用与之前相同的`docker run`命令运行容器。

通过这些步骤,你可以轻松地将Docker镜像从一台电脑移动到另一台电脑上,并在新电脑上运行。这就是Docker的一部分魅力,允许你以一致的方式在不同的环境中运行相同的应用程序。如果你有任何其他问题或需要进一步的帮助,请随时告诉我!

30、

代码语言:javascript
复制
docker run -it test_image

31、相当的厉害

32、

代码语言:javascript
复制
我在云服务器镜像名称
容量
操作系统
Docker 版本
o0penCloudOS8.6-Docker20
20GB
penCloud OS 8.6
20.10.5
上安装了这个Docker,如何把test_image.tar这个Docker镜像。

[lighthouse@VM-20-6-opencloudos ~]$

33、

34、

代码语言:javascript
复制
# 使用官方Python镜像作为基础镜像
FROM python:3

# 设置工作目录
WORKDIR /usr/src/app

# 将当前目录内容复制到容器的工作目录中
COPY . .

# 配置使用国内PyPI镜像源
RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

# 安装jieba分词库
RUN pip install --no-cache-dir jieba

# 设置环境变量,允许容器中的应用程序连接到宿主机的X server
ENV DISPLAY host.docker.internal:0.0

# 运行脚本
CMD ["python", "./jieba-test.py"]

35、GUI界面需要xmiing

36、中文字体需要下载等等

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-08-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大大的小数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档