学习笔记|Docker的使用方法(基础)

这篇博客详细介绍了Docker的安装过程,包括Windows、Ubuntu和Centos平台的安装步骤。接着,作者演示了如何从DockerHub拉取镜像、启动容器,以及如何构建和管理镜像。此外,还提到了DockerFile的使用和镜像的上传流程。

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

一、下载与安装

1.1 Windows安装

https://hub.docker.com/editions/community/docker-ce-desktop-windows/

下载这个stable的就可以啦

安装完成后有一些操作:

1、修改下载默认源

右键桌面右下角Docker Desktop图标,选择setting - Docker Engine,修改"registry-mirrors": [ "http://hub-mirror.c.163.com","https://mirror.baidubce.com" ],

2、修改镜像存放目录

默认镜像存放目录有足够容量可以跳过此步

首先查看setting - Docker Engine - Resources - Disk image location找到默认镜像存放目录,例如:C:\ProgramData\DockerDesktop\vm-data。将文件夹内DockerDesktop.vhdx剪切到想要改变的目标镜像存放目录,例如:D:\DockerDesktop,然后修改镜像存放目录为D:\DockerDesktop

1.2 Ubuntu安装

https://www.runoob.com/docker/ubuntu-docker-install.html

1.3 Centos安装

https://www.runoob.com/docker/centos-docker-install.html

二、开始使用

2.1 从DockerHub拉取一个镜像并启动它

1、搜索镜像:https://hub.docker.com/search?type=image,输入你想使用的镜像,比如我想要一个已经配置好pytorch和cuda的的linux系统,那么就可以输入pytorch,点开第一个

点tags

就会看到很多不同tag的镜像列表,从中选择你想要的,复制右上角的命令行语句就可以了

比如我选的是这个

然后回到cmd粘贴这个命令行,就可以拉取这个镜像到本地了。

2、拉取镜像到本地

docker pull <username>/<imagename>:<tag>

3、查看所有镜像

docker images

可以看到镜像已经下载到本地了。

4、启动基于某个镜像的容器:

docker run -it <username>/<imagename>:<tag>或docker run -it <imageID>

如果想对某个镜像进行操作,一般要同时指定镜像名和tag,tag相当于这个镜像的版本号,<imagename>:<tag>,也可以直接给出该镜像的imageID。username是发布这个镜像的用户名字,如果没有的话也可以不用加上。-it是指以交互的形式启动该镜像,启动镜像后可以在容器中用命令行操作

关于run命令的语法,看https://www.runoob.com/docker/docker-run-command.html

5、查看历史运行的容器:

docker ps

6、查看所有正在运行的容器:

docker ps -a

7、在容器外面停止某个容器:

docker stop <containerID>

指定一个容器的时候可以通过containerID或contanerName来指定,如果在run的时候没有指定contanier的name的时候系统会随机分配一个名字,或者可以通过docker run --name <containerName> <imageName>:<tag>来指定一个名字

8、删除容器:

docker rm <containerName>

注意如果容器不是Exited状态是无法删除的,需要先stop才能删除

9、删除所有容器:

docker rm `docker ps -a -q`

10、删除镜像:

docker rmi <imageID>

注意如果没有删除所有已启动容器是不能删除该镜像的

9、当我们在容器里面的时候,退出容器的方式有:

方式

结果

再次启动

exit(命令)

退出后,这个容器也就消失了,容器销毁ps查不到

docker start 容器名/容器id

Ctrl+D(快捷方式)

退出后,这个容器也就消失了,容器销毁ps查不到

docker start 容器名/容器id

先按,Ctrl+P;再按,Ctrl+Q(快捷方式)

退出容器,ps能查到,还在后台运行

docker attach 容器名/容器id

 

三、构建镜像

参考:https://www.cnblogs.com/hanyifeng/p/6116067.html

3.1 交互式构建镜像

在某个镜像的基础上通过命令行手动修改容器,并基于此修改构建新的镜像。

1、基于某个镜像启动一个容器(以交互式启动):

docker run -it <username>/<imagename>:<tag>

2、然后在打开的容器中用命令行安装一些软件:apt-get install xxx或者安装一些基础的python库等,或者添加一些文件,修改配置等等,看你的需求。

3、对安装了软件(做了修改)的容器打包成一个新的镜像:打开另一个终端,输入

docker commit <containerName> <username>/<newImageName>:<tag>

containerName是刚才你修改过的容器名称,newImageName是你想要构建的新的镜像的名称,tag是你为它分配的版本号,可以是v1.0或者任意字符,username是你的用户名,要登陆了才会有效。登录:docker login,输入用户名和密码就可以了。若没有账号可先到https://hub.docker.com/先注册一个

4、输入

docker images

就能看到刚刚生成的新镜像

5、运行该镜像:

docker run -it <username>/<newImageName>:<tag>

可以看到这个镜像是不同于原来镜像的

3.2 使用DockerFile

Dockerfile包含创建镜像所需要的全部指令。基于在Dockerfile中的指令,我们可以使用Docker build命令来创建镜像。通过减少镜像和容器的创建过程来简化部署。

新建一个目录,在里面新建一个DockerFile文件

1、编写DockerFile

参考网上的例子https://www.jianshu.com/p/89f1a77d6378

https://blog.youkuaiyun.com/bear507/article/details/108330373

https://www.cnblogs.com/hanyifeng/p/6116067.html

2、构建镜像:

docker build -t <user_name>/<newImageName >:<tag> .

注意后面有一个 . ,代表在当前目录的上下文构建镜像

3、运行镜像:

docker run -it <user_name>/<newImageName >:<tag>

关于run命令的语法,看https://www.runoob.com/docker/docker-run-command.html

有一些常用的:

  • -d: 后台运行容器,并返回容器ID;

  • -i: 以交互模式运行容器,通常与 -t 同时使用;

  • -p: 指定端口映射,格式为:主机(宿主)端口:容器端口

  • --name="nginx-lb": 为容器指定一个名称;

  • --volume , -v: 绑定一个卷

四、上传镜像

1、登录账户:

docker login

输入用户名和密码(没有账户的要先到https://hub.docker.com/注册)

2、上传:

docker push <user_name>/<image_name>:<tag>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值