Docker windows python install

Docker provides a standardized environment to develop, test and deploy applications in an isolated container ensuring that your code works seamlessly regardless of where it’s run.

Docker-Setup-Guide-for-Python-copy

Setting Up Docker for Python Projects

In this article, we will learn about the basics of Docker and containers, how to set Docker for Python projects, etc.

Table of Content

  • Introduction to Docker and Containers
  • Why Use Docker for Python Projects?
  • Installing Docker
  • Steps to Setting Up Docker for a Python Projects
  • Docker Compose for Multi-Container Applications

Introduction to Docker and Containers

Docker is a platform designed to automate the deployment of applications inside a lightweight portable container. These containers include everything the application needs to run such as external libraries, dependencies, databases, and the application code itself. By isolating applications in containers, Docker ensures that they behave the same way across different environments from your local machine to the production server.

A container is a standard unit of software that encapsulates everything needed to run an application including code, runtime, libraries and configurations. Unlike virtual machines, containers share the host system’s OS kernel and are much lighter which makes them faster to start and more efficient in resource usage.

Why Use Docker for Python Projects?

  • Consistency Across Environments: Docker ensures that your development, staging, and production environments are identical.
  • Simplified Dependency Management: Docker containers include all necessary libraries and dependencies making it easier to manage Python environments and avoid version conflicts.
  • Isolation: Each python project inside docker container runs in its own isolated environment that prevents conflicts between different applications or services.
  • Scalability: Docker containers are lightweight and can be scaled easily.
  • Portability: Docker containers can be easily shared and deployed on any system that supports Docker.

Installing Docker

Windows and macOS

Install Docker Desktop by downloading it from Docker’s official website. Follow the installation instructions and make sure Docker Desktop is running

Linux

Run the following commands to install Docker on Ubuntu/Debian-based systems:

sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker

Once installed, verify Docker is working by running:

docker --version

You can refer the below article for installation of docker:

  • How To Install and Configure Docker in Ubuntu?
  • Docker – Installation on Windows

Steps to Setting Up Docker for a Python Projects

Follow the below steps to Step up a docker for python project

Step 1: Create a Python Project

First, create a simple Python project locally and add Python Files: Create a simple Python script inside your project directory. For example: app.py

Python

# app.py
print("Hello, from GFG!")

Step 2: Writing a Dockerfile for Python

A Dockerfile is a text file that contains instructions to build a Docker image which is a snapshot of the environment your project needs to run. For Python projects, a Dockerfile typically defines the base Python image, installs dependencies and sets up the application environment.

# Use an official Python runtime as a parent image
FROM python:3.9-slim

# Set the working directory in the container
WORKDIR /usr/src/app

# Copy the current directory contents into the container at /usr/src/app
COPY . .

# Install any needed packages specified in requirements.txt
RUN pip install --no-cache-dir -r requirements.txt

# Make port 80 available to the world outside this container (Optional, only for web apps)
EXPOSE 80

# Define environment variable (optional)
ENV NAME World

# Run app.py when the container launches
CMD ["python", "./app.py"]

Step 3: Managing Dependencies Inside Docker (optional for our example)

Managing dependencies in Docker is simple because you define them in a requirements.txt file (for Python) and then install them during the image build process.

the following requirements.txt file can specify the dependencies needed for your Python app:

flask==2.0.1
requests==2.25.1

Step 4: Build the Docker Image

Now, build your Docker image based on the Dockerfile. Run the following command from the root of your project directory (where the Dockerfile is located):

docker build -t my-python-app .
2

Step 5: Deploying Python Applications with Docker

After building the image, you can run your Python app inside a Docker container. Use the following command:

docker run -it --rm --name my-running-app my-python-app
3

For Applications that is going to continuously run on a PORT, you have to mentions the outside port in DockerFile and use the following command when running the container:

docker run -d -p 5000:5000 --restart unless-stopped flask-app

In this command:

  • docker run: This command runs a new container based on the specified image (flask-app in this case).
  • d: The -d flag runs the container in detached mode meaning the container will run in the background.
  • -p 5000:5000: This option maps port 5000 of the host (your local machine) to port 5000 inside the container. Flask apps by default, run on port 5000, so this ensures that the Flask app inside the container can be accessed via localhost:5000 on your machine.
  • —restart unless-stopped: This flag ensures that the container restarts automatically if it crashes or the Docker daemon restarts. The container will continue to restart unless explicitly stopped using docker stop or another similar command.
  • flask-app: This is the name of the Docker image being used to run the container.

Docker Compose for Multi-Container Applications

If your Python project involves multiple services, such as a web application and a database, you can use Docker Compose to manage them in a single YAML configuration file.

Here’s an example docker-compose.yml file for a Python Flask app and PostgreSQL database:

version: '3'
services:
web:
build: .
ports:
- "5000:5000"
environment:
- POSTGRES_USER=admin
- POSTGRES_PASSWORD=secret
depends_on:
- db
db:
image: postgres
environment:
POSTGRES_USER: admin
POSTGRES_PASSWORD: secret

To run this setup, simply execute (where your compose file is present):

docker-compose up

Conclusion

Docker is a powerful tool that provides consistency, portability and ease of deployment across different environments. By containerizing your application, you can ensure that it behaves the same way everywhere from development to production. By following this article, you can easily setup your python projects in docker environment.

Ниже представлен подробный материал о том, как работать с Docker в Python – от установки до сложных примеров. В этой статье мы разберём:

Основы Docker: установка и базовые понятия
Базовое использование: создание Dockerfile, сборка образов и запуск контейнеров
Интеграция с Python: использование библиотеки docker-py для управления Docker из Python
Продвинутые примеры: динамическое создание образов, управление контейнерами, логирование и обработка ошибок и разместим телеграм бота в docker:

Docker – это платформа для разработки, доставки и запуска приложений в изолированных контейнерах. Он позволяет упаковать приложение вместе со всеми зависимостями в единый переносимый образ. Для Python-разработчиков Docker полезен, так как:

Изоляция среды: гарантирует, что ваше приложение будет работать одинаково в любых условиях
Упрощённое развертывание: перенос образов между серверами и облаками становится тривиальной задачей
Масштабируемость: легко интегрируется с инструментами оркестрации, такими как Kubernetes


2. Установка Docker

Перед началом работы необходимо установить Docker. Для большинства ОС доступны официальные инструкции по установке:

Windows и Mac: скачайте Docker Desktop с официального сайта
Linux: установите пакет docker-ce через менеджер пакетов

bashКопироватьРедактировать# Пример для Ubuntu:
sudo apt-get update
sudo apt-get install \
  ca-certificates \
  curl \
  gnupg \
  lsb-release

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

После установки проверьте, что Docker работает, запустив:

bashКопироватьРедактироватьdocker run hello-world

3. Базовое использование Docker

Создание Dockerfile

Dockerfile – это сценарий для сборки образа. Пример простого Dockerfile для Python-приложения:

DockerfileКопироватьРедактировать# Используем официальный образ Python в качестве базового
FROM python:3.9-slim

# Устанавливаем рабочую директорию
WORKDIR /app

# Копируем файлы приложения
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

# Запускаем приложение
CMD ["python", "app.py"]

Соберите образ с помощью команды:

bashКопироватьРедактироватьdocker build -t my-python-app .

Запуск контейнера

Запустите контейнер:

bashКопироватьРедактироватьdocker run -d --name my_app_container -p 5000:5000 my-python-app

Параметры:
-d: запуск в фоновом режиме
-p: проброс портов между хостом и контейнером


4. Работа с Docker через Python

Для взаимодействия с Docker из Python используется библиотека docker-py. Установить её можно с помощью pip:

bashКопироватьРедактироватьpip install docker

Пример: Подключение к Docker и вывод информации о системе

pythonКопироватьРедактироватьimport docker

# Подключаемся к локальному демону Docker
client = docker.from_env()

# Получаем и выводим информацию о Docker
info = client.info()
print("Docker Info:")
print(info)

Пример: Список запущенных контейнеров

pythonКопироватьРедактироватьimport docker

client = docker.from_env()

print("Запущенные контейнеры:")
for container in client.containers.list():
    print(f"ID: {container.id[:12]}, Имя: {container.name}, Статус: {container.status}")

Пример: Запуск контейнера и получение логов

pythonКопироватьРедактироватьimport docker
import time

client = docker.from_env()

# Запуск контейнера с командой "echo Hello, Docker!"
container = client.containers.run("ubuntu:latest", "echo Hello, Docker!", detach=True)

# Небольшая задержка для завершения выполнения команды
time.sleep(1)

# Вывод логов контейнера
logs = container.logs().decode("utf-8")
print("Логи контейнера:")
print(logs)

# Остановка и удаление контейнера (на всякий случай)
container.remove(force=True)

5. Продвинутые примеры работы с Docker в Python

5.1. Динамическая сборка образа из Dockerfile

Вы можете собрать Docker-образ прямо из Python-скрипта:

pythonКопироватьРедактироватьimport docker

client = docker.from_env()

# Сборка образа из директории, содержащей Dockerfile
try:
    image, build_logs = client.images.build(path="path/to/your/app", tag="dynamic-app:latest")
    print("Образ успешно собран!")
except docker.errors.BuildError as err:
    print("Ошибка сборки образа:")
    for line in err.build_log:
        if 'stream' in line:
            print(line['stream'].strip())

5.2. Запуск контейнера с параметрами окружения и монтированием томов

pythonКопироватьРедактироватьimport docker

client = docker.from_env()

try:
    container = client.containers.run(
        "python:3.9-slim",
        command="python -c 'print(\"Работает внутри контейнера\")'",
        environment={"MY_VAR": "value"},
        volumes={"/host/path": {"bind": "/container/path", "mode": "rw"}},
        detach=True
    )
    # Ожидаем завершения работы контейнера
    container.wait()
    print("Логи контейнера:")
    print(container.logs().decode("utf-8"))
except Exception as e:
    print("Ошибка при запуске контейнера:", e)
finally:
    # Очистка: удаляем контейнер
    container.remove(force=True)

5.3. Асинхронное управление контейнерами

Если необходимо интегрировать Docker в асинхронное приложение, можно использовать библиотеку aiohttp вместе с docker SDK. Пример асинхронного получения логов:

pythonКопироватьРедактироватьimport asyncio
import docker

async def get_container_logs(container):
# Запускаем контейнер
container.start()
# Ожидаем некоторое время, чтобы контейнер что-то вывел
await asyncio.sleep(2)
logs = container.logs().decode("utf-8")
print("Асинхронные логи контейнера:")
print(logs)
container.remove(force=True)

async def main():
client = docker.from_env()
container = client.containers.create("ubuntu:latest", command="echo Асинхронный Docker")
await get_container_logs(container)

if __name__ == "__main__":
asyncio.run(main())

Размещение Telegram-бота в Docker: подробное руководство

В этом руководстве мы рассмотрим, как создать и запустить простого Telegram-бота с использованием Python, а затем развернуть его в Docker-контейнере. Такой подход позволяет обеспечить изоляцию среды и удобство развёртывания приложения в любых условиях.


1. Что понадобится

Python 3.9+ – для разработки бота.
Docker – для упаковки приложения в контейнер.
Библиотека python-telegram-bot – для взаимодействия с Telegram API.
Token от BotFather – получите его, создав нового бота в Telegram.


2. Создание Telegram-бота на Python

Начнём с простого кода для бота. В этом примере бот отвечает на команду /start. Рекомендуется получать токен из переменных окружения для повышения безопасности.

Пример файла bot.py:

pythonКопироватьРедактироватьimport os
import logging
from telegram import Update
from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes

# Настройка логирования
logging.basicConfig(
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
    level=logging.INFO
)

# Обработчик команды /start
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
    await update.message.reply_text("Привет, я бот, работающий в Docker!")

if __name__ == '__main__':
    # Получение токена из переменной окружения
    TOKEN = os.environ.get("TELEGRAM_BOT_TOKEN")
    if not TOKEN:
        raise Exception("Переменная окружения TELEGRAM_BOT_TOKEN не найдена!")

    # Создание и запуск приложения
    app = ApplicationBuilder().token(TOKEN).build()
    app.add_handler(CommandHandler("start", start))
    app.run_polling()

Пояснения:

▪ Код настраивает базовое логирование для отслеживания событий.
▪ Обработчик команды /start отвечает простым сообщением.
▪ Токен бота извлекается из переменной окружения TELEGRAM_BOT_TOKEN для безопасности.


3. Создание файла зависимостей

Создайте файл requirements.txt и добавьте в него зависимость:

iniКопироватьРедактироватьpython-telegram-bot==20.3

Это гарантирует, что при сборке образа Docker будут установлены необходимые библиотеки.


4. Создание Dockerfile

Dockerfile описывает, как собрать образ вашего приложения. Приведённый ниже пример базируется на официальном образе Python.

Пример файла Dockerfile:

DockerfileКопироватьРедактировать# Используем официальный образ Python
FROM python:3.9-slim

# Устанавливаем рабочую директорию в контейнере
WORKDIR /app

# Копируем файл зависимостей и устанавливаем их
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# Копируем исходный код в контейнер
COPY . .

# Команда для запуска бота
CMD ["python", "bot.py"]

Пояснения:

FROM python:3.9-slim – задаёт базовый образ с установленным Python.
WORKDIR /app – устанавливает рабочую директорию.
COPY requirements.txt . и RUN pip install… – копируют файл зависимостей и устанавливают необходимые пакеты.
COPY . . – копирует весь исходный код в контейнер.
CMD [“python”, “bot.py”] – указывает команду для запуска приложения.


5. Сборка и запуск Docker-контейнера

После создания необходимых файлов, выполните следующие шаги:

5.1. Сборка образа

Откройте терминал в директории с проектом и выполните команду:

bashКопироватьРедактироватьdocker build -t telegram-bot .

Эта команда создаст Docker-образ с именем telegram-bot.

5.2. Запуск контейнера

Запустите контейнер, передав токен бота через переменную окружения:

bashКопироватьРедактироватьdocker run -d --name my_telegram_bot --env TELEGRAM_BOT_TOKEN=<YOUR_TELEGRAM_BOT_TOKEN> telegram-bot

Пояснения:

-d – запуск контейнера в фоновом режиме.
–name my_telegram_bot – задаёт имя контейнера.
–env TELEGRAM_BOT_TOKEN=<YOUR_TELEGRAM_BOT_TOKEN> – передаёт переменную окружения с токеном.
telegram-bot – имя образа, созданного на предыдущем шаге.

Теперь ваш Telegram-бот запущен в Docker-контейнере и готов к работе!

Размещение Telegram-бота в Docker предоставляет ряд преимуществ:

Изоляция среды: приложение работает независимо от локальных настроек системы.
Портативность: легко перемещайте образ между серверами или облаками.
Удобство обновлений: простой процесс сборки и развёртывания новых версий.

Попробуйте самостоятельно запустить бота, внеся необходимые доработки, и оцените удобство работы с Docker в ваших Python-проектах!

6. Заключение

В этой статье мы рассмотрели:
Основы работы с Docker: от установки до сборки образов и запуска контейнеров
Интеграцию Docker с Python: использование библиотеки docker-py для управления Docker-приложениями
Продвинутые сценарии: динамическая сборка образов, работа с переменными окружения, монтирование томов и асинхронное управление контейнерами

Использование Docker позволяет создавать воспроизводимые среды, что особенно важно при разработке и деплое сложных приложений. Надеюсь, что представленные примеры помогут вам глубже понять возможности Docker и интегрировать его в ваши Python-проекты.

Полезные ссылки:
▪ Официальная документация Docker
▪ Документация docker-py

Продолжайте экспериментировать и оптимизировать свои рабочие процессы с помощью Docker!

Просмотры: 2 141

Docker стал неотъемлемой частью современного процесса разработки и развертывания приложений. Платформа позволяет объединить все зависимости и компоненты в единый контейнер, который можно запускать в любом окружении. Это руководство поможет вам развернуть простое Python приложение, используя Docker.

Docker — это платформа для контейнеризации, аналогичная виртуальным машинам, но значительно более легковесная. Контейнер содержит всю необходимую среду для выполнения приложения: системные библиотеки, зависимости и конфигурационные файлы.

Преимущества контейнеризации:

  • Изоляция: Приложение и его зависимости изолированы друг от друга и от системы.
  • Портативность: Контейнеры можно развернуть на любой машине с установленным Docker.
  • Эффективность: Контейнеры используют ресурсы более эффективно по сравнению с виртуальными машинами.

Установка Docker

Поддерживаемые операционные системы

Docker поддерживается на различных платформах, включая Windows, macOS и Linux.

Пошаговая инструкция по установке Docker

Windows:

  1. Скачайте Docker Desktop с официального сайта.
  2. Установите и запустите Docker Desktop.
  3. Настройте параметры по умолчанию.

macOS:

  1. Скачайте Docker Desktop с официального сайта.
  2. Переместите Docker.app в папку Applications и запустите его.
  3. Следуйте инструкциям на экране для завершения установки.

Linux:

  1. В терминале выполните команду:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
  1. Запустите и добавьте Docker в автозагрузку:
sudo systemctl start docker
sudo systemctl enable docker

Проверка установки и запуск Hello World контейнера

После установки Docker, выполните следующую команду для проверки:

Создание Python приложения

Мы будем использовать Flask для создания простого веб-приложения.

Создайте файл app.py со следующим содержимым:

from flask import Flask

app = Flask(__name__)

@app.route('/hello')
def hello():
    """
    Возвращает приветствие.
    """
    return 'Hello, Docker!'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)

Этот код создает Flask-приложение с одним маршрутом /hello, который возвращает текст «Hello, Docker!».

Создание Dockerfile

Что такое Dockerfile?

Dockerfile — это скрипт с инструкциями для создания Docker образа. Он позволяет автоматизировать процесс создания образа и делает его воспроизводимым.

Пошаговое создание Dockerfile

Создайте файл Dockerfile со следующим содержимым:

FROM python:3.9

WORKDIR /app

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

COPY . .

CMD ["python", "app.py"]

Этот Dockerfile выполняет следующие шаги:

  1. FROM: Указывает базовый образ с Python 3.9.
  2. WORKDIR: Устанавливает рабочий каталог.
  3. COPY: Копирует requirements.txt в рабочий каталог.
  4. RUN: Устанавливает зависимости из requirements.txt.
  5. COPY: Копирует все файлы из текущего каталога в контейнер.
  6. CMD: Указывает команду для запуска приложения.

Сборка и запуск Docker контейнера

Сборка образа

Выполните следующую команду для сборки Docker образа:

docker build -t my-python-app .

Запуск контейнера

Для запуска контейнера выполните команду:

docker run -p 5000:5000 my-python-app

Эта команда пробрасывает порт 5000 контейнера на порт 5000 хоста.

Тестирование приложения

Чтобы проверить работоспособность приложения, откройте браузер и перейдите по адресу http://localhost:5000/hello или используйте curl:

curl http://localhost:5000/hello

Вы должны увидеть ответ Hello, Docker!.

Устранение распространенных проблем

Ошибки при запуске контейнера

Если контейнер не запускается, используйте команду docker logs для диагностики проблемы:

docker logs <container_id>

Повторное создание образа

Если вы изменили исходный код или зависимости, не забудьте пересобрать образ:

docker build -t my-python-app .

Заключение

В этом руководстве мы рассмотрели процесс создания Docker образа для простого Python приложения и его развертывания в контейнере. Docker позволяет легко управлять зависимостями и изолировать окружение, что делает процесс разработки и развертывания более надежным и эффективным.

This is a brief tutorial on how to run Python in a Docker container. It’s not meant to be an all inclusive dissertation on Docker but rather a let’s get you going style brief. It assumes that you are comfortable using the command-line, cmd.exe.


Docker

  • Install Docker Desktop for Windows. This will probably require a reboot for installation.
  • You will want to use the servercore Docker image.
    • To install: docker pull mcr.microsoft.com/windows/servercore:ltsc2019

For my setup, I have a directory named c:\temp\outside. This will become my work area once the Docker container is running. Any files placed underneath this folder with be visible from within the container. Inside the container, this folder will be mapped to c:\inside.

To start the container:

docker run -t -i --rm --mount type=bind,src=c:\temp\outside,dst=c:\inside -w c:\inside mcr.microsoft.com/windows/servercore:ltsc2019

Option Explanation
-t Allocate a pseudo-TTY. This is needed for an interactive shell.
-i Keep STDIN open even if not attached.
–rm Automatically remove the container when it exits. Your files will still safely reside under c:\temp\outside once you have exited the container.
–mount Attach a filesystem mount to the container. This has three sub parameters: type, src, and dst.
-w Working directory inside the container. There is where you will start off at once inside the container.
(container) The container name plus the version. The version comes after the :.

Workflow

You can detach from a running container by using the CTRL-p CTRL-q key sequence. This will place you back outside of the container.

You can then attach to get back inside the container but will first need to know the CONTAINER ID.

To get the CONTAINER ID, run this command:

docker container ls

Example output:

CONTAINER ID        IMAGE                                           COMMAND                    CREATED             STATUS              PORTS               NAMES
9bad4fb6a956        mcr.microsoft.com/windows/servercore:ltsc2019   "c:\\windows\\system32"   2 minutes ago       Up 2 minutes                            pensive_mclaren

To attach, run this command:

docker container attach 9bad4fb6a956

You can also just use 9b for the CONTAINER ID. This argument just needs to be a unique id vs any other running container IDs. Notice that once you are back inside the container, your prompt will change back to c:\inside.

TIP: When running the Python interpreter inside the container, you can not press CTRL-Z to exit the interpreter. If you do this, the container will become unresponsive. When this happens you will need to press CTRL-p CTRL-q to detach from the container and then run docker container attach to restart. The cleanest way to exit the interpreter is to issue the exit() command.


Python

Start your container by issuing the previously mentioned docker run command.

To install Python and Git you will first need to install the nuget package manager:

curl -L https://aka.ms/nugetclidl -o nuget.exe

You should now have a c:\inside\nuget.exe binary.

Even though Python 3.9 is the current version, let’s install an older version just for fun. If you want to install the current repository version then you can exclude -Version %PYVER%

rem install an older version of Python
set PYVER=3.7.5
nuget.exe install python -ExcludeVersion -Version %PYVER% -OutputDirectory .

rem install git -- this can take a while to install
nuget.exe install GitForWindows -ExcludeVersion -OutputDirectory .

rem set the PATH environment variable so that Python and git can run
set PATH=%PATH%;c:\inside\python\tools;c:\inside\python\tools\Scripts;c:\inside\GitForWindows\tools\cmd

Pip is not installed with this method, but you can run python -m pip instead. For example:

python -m pip install pyinstaller

Example

This will build a stand-alone speedtest-cli Windows executable.

rem install PyInstaller as previously mentioned
rem start off in the c:\inside directory
git clone https://github.com/sivel/speedtest-cli
cd speedtest-cli
pyinstaller -F --noupx speedtest.py

rem build output excluded

cd dist
copy speedtest.exe c:\inside
dir speedtest.exe | findstr "exe"

11/22/2020  03:09 PM         5,795,380 speedtest.exe

You can now exit the Docker container by running exit. Notice that the command prompt has changed your path location.

Run your newly created executable:

cd c:\temp\outside
speedtest.exe --version

speedtest-cli 2.1.2
Python 3.7.5 (tags/v3.7.5:5c02a39a0b, Oct 15 2019, 00:11:34) [MSC v.1916 64 bit (AMD64)]

Clean Up

This is a 3 step process:

Step 1

Stop and remove any running containers. Note that there may not be any running containers.

rem To get any containers still running
docker container ls

docker container kill CONTAINER-ID

docker container rm CONTAINER-ID

Step 2 — Optional

Remove the docker image from your system.


rem get a list of installed images
docker image ls

docker image rm mcr.microsoft.com/windows/servercore:ltsc2019

Step 3 — Optional

Remove the installed Python and git folders.

rd /s/q c:\temp\outside\python
rd /s/q c:\temp\outside\GitForWindows
rd /s/q c:\temp\outside\speedtest-cli
del c:\temp\outside\nuget.exe

This only file that should now be remaining is the speedtest.exe file that you just created.


Comments, corrections, and suggestions are appreciated.

Thanks.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как зайти с правами администратора в windows 10 home
  • Msvcp100 dll что это за ошибка как исправить windows 10 64 bit windows
  • Как переустановить windows на старом компьютере
  • Как создать скриншот в windows 10
  • Как включить samba в windows 11