命令行记录
docker exec -it e7429ba703b9 /bin/bash
cd home/NeuS-vanilla-mask
conda activate trineus
python exp_runner.py
Docker简介
copy from https://www.kuangstudy.com/bbs/1473206526041661442
仓库:存放镜像的地方
镜像:通过镜像创建多个容器
容器:项目在容器中运行,可以独立运行一个或一组容器。容器的启动、停止、删除。(简易的操作系统系统)。
安装
安装成功后运行,简单测试几条命令
docker version
docker run hello-world
出现以上内容表示运行成功,接着查看刚刚的镜像
docker images
(这里可能还会有给docker配置镜像加速的事情,略过)
docker info
docker 命令 --help
镜像(image)
查看镜像
docker images
# 显示所有镜像的id
docker images -aq
搜索镜像
docker search mysql ( 过滤条件 --filter=STARS=3000 )
下载镜像
docker pull mysql
# 指定版本下载
docker pull mysql:5.7
删除镜像
docker rmi -f image_id
docker rmi -f 镜像id 镜像id 镜像id 镜像id
# 删除所有镜像
docker rmi -f $(docker images -aq)
windows系统不适用$符号
容器(container)
说明:有了镜像才可以创建容器
新建并启动容器
docker run [可选参数] image /bin/bash
# 参数说明
--name="NAME"
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 指定端口 -p 8080:8080
# 示例
run -it ubuntu /bin/bash
/bin/bash 很重要,如果不加就没办法启动容器
查看容器
docker ps # 当前运行容器
docker ps -a
docker ps -n=1 # 显示最近创建的1个容器
docker ps -q # 只显示id
退出容器
exit # 退出后容器停止
Ctrl + P + Q # 退出后容器不停止
删除容器
docker rm 容器id # 删除指定容器,不能删除正在运行的容器
docker rm -f $(docker ps -aq)
启动和停止容器
docker start imageid # 启动
docker restart # 重启
docker stop # 停止当前正在运行的容器
docker kill # 强制停止
查看日志
-tf # 显示日志
--tail number # 要显示日志条数
docker logs -tf --tail 10 2382115c04e3
查看容器中进程信息
docker top 容器id
查看镜像元数据
docker inspect 容器id
进入当前正在运行的容器
需要先启动容器,再进入容器
docker exec -it 容器id /bin/bash # 进入容器后开启一个新的终端
docker attach 容器id # 进入容器正在执行的终端,不会启动新的进程
拷贝docker上文件到本地
docker cp cdb3cd64f609:/home/a.txt e:/
挂载
# 挂载本地目录e下的文件到docker服务器上
# 注意这个命令是在创建容器的时候自动挂载
docker run -it -v e:/:/home ubuntu /bin/bash
# 查看是否挂载成功
docker inspect container_id
挂载后,即使容器停止运行,更新本地文件,容器里的文件仍被更新
# 如何确定是具名挂载还是匿名挂载,还说指定路径挂载
-v 容器内路径 # 匿名挂载
-v 卷名:容器内路径 # 具名挂载
-v /宿主机路径:容器内路径 # 指定路径挂载
使用具名和匿名挂载时,都会与主机的一个_data目录共享
Dockerfile
有dockerfile创建一个镜像
# 由当前目录下的dockerfile(名为test)创建一个名为test1的镜像
F:\env>docker build -f test -t test1 .
仓库(repository)
VScode远程连接container
有个问题就是:如果配置了docker容器环境后,就只能连上容器,而没办法连上服务器。(此时可以通过修改.ssh\config文件来修改连接那个服务器)
参考链接1&&参考链接2
运行docker容器
docker run -itd --name pet-neus1 --gpus all -v /mnt/workspace2024/tongyu:/root -p 8124:22 0b59a474ceb5 /bin/bash
镜像记录
container id | 描述 |
---|---|
e7429ba703b9 | NeuS, NeuS-vanilla-mask(Ours) |
fc0af31b9216 | Pet-NeuS |
ab5f9722837a | Pet-NeuS(没有端口映射,无法调试) |
git
git status # 查看当前仓库状态
git init # 在当前文件夹下初始化一个仓库
git add exp_runner.py # 把文件添加到仓库
git commit -m "Add exp_runner.py" # 提交修改,-m 添加信息
code . # 使用vscode打开