docker使用笔记

本文介绍了Docker的三个基本概念,包括镜像、容器和仓库。同时详细阐述了Docker常用指令,如镜像构建、启动容器并映射文件夹、利用容器执行脚本等,还说明了查看镜像和容器信息、停止与启动容器、删除镜像及其容器等操作的指令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

## Docker 包括三个基本概念

 镜像(Image):Docker 镜像是用于创建 Docker 容器的模板。

容器(Container):容器是独立运行的一个或一组应用,是镜像运行时的实体,镜像(Image)和容器(C ontainer)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像

## docker常用指令:

### 镜像构建

在安装docker 的电脑内创建文件夹,放入依赖的资源,用管理员权限运行命令行跳转到该文件夹内。创建Dockerfile 文件,Dockerfile 是一个文本文件,其内包含了一条条的指令,用于构建镜像。每一条指令构建一层镜像,因此每一条指令的内容,就是描述该层镜像应当如何构建。构建镜像指令如下:

docker build -t ImageName:TagName dir

         -t − 给镜像加一个Tag

        ImageName − 给镜像起的名称

        TagName − 给镜像的Tag名

        Dir − Dockerfile所在目录,可用符号“.”表示当前目录,即Dockerfile所在目录

案例:

文件目录如下:

test_python目录下包含:Dockerfile文件、req文件夹(所有的依赖资源)

req文件夹:python安装包(该镜像为一个简单的用于执行python3.8版本脚本的镜像,所以依赖的资源比较少,实际项目根据自己需要的资源进行存放。)

       

docker build使用参考:用管理员权限运行命令行跳转到该test_Python文件夹内,创建一个名为test_docker的镜像,该镜像用于执行python脚本(python版本:python-3.8.2),指令如下:

docker build -t test_docker:v1 -f .\Dockerfile_python .

Dockerfile_python文件的设定:(python-3.8.2运行容器的创建)

# 设置基础镜像(windows镜像,可从官网获取)
FROM mcr.microsoft.com/windows/servercore:1809-KB4464455-amd64

#将req/python-3.8.2rc1-amd64.exe安装文件拷贝到c盘

COPY req/python-3.8.2rc1-amd64.exe C:/

RUN start /wait C:\python-3.8.2rc1-amd64.exe /quiet TargetDir=C:\Python38 InstallAllUsers=1 PrependPath=1

RUN powershell -Command \
    Remove-Item c:\python-3.8.2rc1-amd64.exe -Force

# 安装playwright、xlrd、docx
RUN pip install playwright \

        && pip3 install xlrd \

        && pip install docx \

        && pip install python-docx

# 安装playwright自带的浏览器。
RUN playwright install

CMD [ "cmd" ]

### 启动容器并映射文件夹

 docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

        OPTIONS:

                -i表示交互式的,表示[cmd]是一个有用户输入的程序,比如/bin/bash和python等

                -t 产生一个终端。

                -i与-t必须一起使用,OPTIONS拥有很多属性,具体内容可百度进行了解

        IMAGE:创建的容器名称

        COMMAND:命令(文件映射关系、使用的镜像等)

案例:

运行镜像test_docker创建的容器test_docker_run,并将d:/Temp映射到C盘:(容器名和镜像名可以不同)

docker run -it --name test_docker_run -v d:/Temp:C:/Temp test_docker:v1 cmd

注:windows系统默认内存大小比较小,如果容器使用中报“out of memory”错误,在启动容器时指定内存大小,方式如下:(指定内存大小为4g)

docker run -it --name test_docker_run -m 4g -v d:/Temp:C:/Temp test_docker:v1 cmd

### 利用容器执行脚本

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

        OPTIONS说明:

                -d,以后台方式执行命令;

                -e,设置环境变量

                -i,交互模式

                -t,设置TTY

                -u,用户名或UID

        CONTAINER:容器名称

        COMMAND:需要执行的脚本

案例:

使用容器test_docker_run运行C:\Temp\test路径下的test.py脚本,该脚本用于处理一个指定文件,故需要传入文件所在路径C:\Temp\test\TestCase做为输入参数

docker exec -it test_docker_run python C:\Temp\test\test.py C:\Temp\test\TestCase

### 查看已安装镜像

docker images

### 查看正在运行的容器信息

docker ps

### 查看所有的容器信息

docker ps -a

### 运行容器的停止,启动,重启,进入容器

docker stop “CONTAINER ID”

docker start “CONTAINER ID”

docker restart “CONTAINER ID”

docker exec -it “CONTAINER ID” CMD

### 退出docker容器

exit

### 删除镜像及其容器

1.查看镜像和容器信息

docker images

docker ps -a

2.查看容器状态,若为运行状态,停止容器;若为停止状态,忽略此操作

docker stop “CONTAINER ID”

3.删除容器

docker rm “CONTAINER ID”

4.删除镜像

docker rmi “IMAGE ID”

注:通过指令docker ps -a查询容器的运行状态、“CONTAINER ID”、通过docker images指令查询镜像的“IMAGE ID”

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值