docker运行命令总结
首先,在Docker Desktop上pull一个image镜像,
创建容器
打开WSL,运行:
docker run -it --gpus all --name {YOUR_CONTAINER_NAME} -v ./Docker_files:/workspace {IMAGE_NAME} (pytorch/pytorch:2.5.1-cuda12.4-cudnn9-devel)
注意runtime和devel的区别
创建一个网络位置,快速访问docker文件夹下的内容
右键“此电脑”,点击创建一个新的网络位置,把docker下的文件夹目录粘贴进去
再次打开容器
docker exec -it {CONTAINER_ID} (48adf5f2c275f937209523cf80cbaf0a1256a15ee857bc409c72bb2be3f9e5ae) /bin/bash (sh)
容器常用命令
# 1 使用镜像构建容器
sudo docker run -it --name ${container_name} ${image_name} /bin/bash
# 2 查看容器状态列表
sudo docker ps -a
# 3 命令行模式进入容器
sudo docker exec -it bev /bin/bash
# 下面的命令${container_name}可以患侧${container_id}
# 4 停止容器
sudo docker stop ${container_name}
# 5 启动容器
sudo docker start ${container_name}
# 6 重启容器
sudo docker restart ${container_name}
# 删除容器 name可以换成id
sudo docker rm ${container_name}
镜像相关命令
# 1 dockerfile文件构建镜像
sudo docker build -t ${image_name} -f ${dokerfile_name} .
# 2 查看本地镜像列表
sudo docker images
# 3 拉取远程镜像
sudo docker pull ${image_name}
# 4 删除镜像
sudo docker rmi ${image_name}
提交镜像
# 1.容器转镜像
docker commit 【容器名】 【镜像名字:例:myproj】
# 2.镜像打包成压缩包tar文件
docker save -o myproj.tar myproj
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c3f279d17e0a ubuntu:24.04 /bin/bash 7 days ago Up 25 hours desperate_dubinsky
197387f1b436 ubuntu:24.04 /bin/bash 7 days ago Up 25 hours focused_hamilton
$ docker commit c3f279d17e0a svendowideit/testimage:version3
f5283438590d
$ docker images
REPOSITORY TAG ID CREATED SIZE
svendowideit/testimage version3 f5283438590d 16 seconds ago 335.7 MB
提交镜像到远程仓库
docker login
docker push <IMAGE_NAME>:<TAG>
docker tag image_name:tag username/repository:tag
windows和wsl文件互传
https://blog.youkuaiyun.com/qq_27246079/article/details/134444496
windows挂载wsl docker container文件夹
打开“此电脑”,地址栏搜索\\wsl$
,点击ubuntu,home,用户名,进入\\wsl$\Ubuntu\home\your_username
在资源管理器地址栏中复制WSL文件夹的路径,然后在“此电脑”中右键单击,选择“添加一个网络位置”,并将复制的路径粘贴进去。这样,你就可以通过这个网络位置来访问WSL文件夹。
windows文件复制到docker container下
首先先上传windows文件到wsl系统下,然后使用docker命令
docker cp <wsl/ubuntu目录> <Container Name OR Container ID>:<地址>