sswc31689

进入容器

1
docker exec -it wsy /bin/bash

退出容器,回到服务器宿主机

1
exit

查看所有容器

1
docker ps -a

安装python和pip

1
apt-get install -y python3 python3-pip

改名

1
2
ln -s /usr/bin/python3 /usr/bin/python
ln -s /usr/bin/pip3 /usr/bin/pip

验证python

1
2
python --version
pip --version

安装pytorch

1
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu116

验证安装和gpu可用性

1
python -c "import torch; print(torch.__version__); print('CUDA Available:', torch.cuda.is_available()); print('GPU Count:', torch.cuda.device_count()); print('Current GPU:', torch.cuda.get_device_name(0))"

在 Bash 终端中,输入 python 或 python3 进入 Python 解释器环境,然后输入 Python 代码:

python

当前是否可以使用 CUDA(即 GPU 资源)

1
2
import torch
print(torch.cuda.is_available())
1
2
3
4
5
6
7
docker run -it -v /mnt/lustre/GPU4/home/sushuang/siyi:/app -p 8822:22 --name wsy --gpus all  --restart=always iris-main /bin/bash

注意几个参数
-itd
-p
-v
--gpus

汉语

1
2
3
4
5
6
apt-get update
apt-get install -y locales fonts-noto-cjk
locale-gen zh_CN.UTF-8
echo 'export LANG=zh_CN.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=zh_CN.UTF-8' >> ~/.bashrc
source ~/.bashrc

docker ssh

如果在容器中运行 service ssh status 时显示“ssh: unrecognized service”,可能是因为容器中没有安装 SSH 服务。通常,Docker 容器默认不安装 SSH 服务,特别是精简镜像或者仅用于运行特定应用的容器。

解决方案

  1. 安装 SSH 服务

    如果你需要在 Docker 容器中运行 SSH 服务,你可以尝试安装并配置它。以下是在基于 Debian/Ubuntu 镜像的容器中安装和配置 SSH 服务的步骤:

    1
    2
    apt-get update
    apt-get install -y openssh-server

    安装完成后,创建 SSH 服务的运行目录,并启动 SSH 服务:

    1
    2
    mkdir /var/run/sshd
    service ssh start
  2. 配置 SSH
    确保 SSH 配置文件正确,特别是 sshd_config 文件中的设置。例如,确保 PermitRootLogin 被设置为 yes,如果你要以 root 用户登录:

    1
    sed -i 's/PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config
  3. 暴露 SSH 端口
    确保 Docker 容器正确暴露了 SSH 端口(通常是端口 22)。你在启动容器时已经进行了端口映射,所以确保端口映射正确并且容器内部的服务配置无误。

  4. 重新启动容器
    重新启动容器以确保所有配置生效:

    1
    docker restart wsy
  5. 检查 SSH 服务
    再次检查 SSH 服务是否正在运行:

    1
    service ssh status
  6. 连接到容器
    使用 SSH 客户端连接到容器:

    1
    ssh -p 8822 sushuang@127.0.0.1

如果不需要 SSH

如果你只是需要在容器内执行一些命令,而不需要通过 SSH 访问容器,可以直接使用 docker exec 进入容器:

1
docker exec -it wsy /bin/bash
1
2
3
sudo docker port [新的容器ID] 22
sudo docker port d92fd3e9f4a0 22
service ssh restart

设置docker root 密码

1
passwd

用docker的root链接

Host docker-container
HostName 172.10.60.143
User root
Port 8822
csdn:

1
https://blog.csdn.net/weixin_43268590/article/details/129244984

rr notion

1
https://rylynn.notion.site/dockerfile-51925f5a19344df6a7d720485468fc19?pvs=4

ssh免密登录

现在本地和服务器输入

1
ssh-keygen

连续三个回车之后生成密钥。搜索本地的公钥复制到服务器的authorized_keys文件

1
touch ~/.ssh/authorized_keys
1
ssh-copy-id username@ip

git push报错 443

先看本地代理的端口号是什么
20240904204851
比我我的是7890,所以就改为7890

1
2
3
4
5
6
7
8
9
10
git config --global https.proxy 127.0.0.1:7890

git config --global http.proxy 127.0.0.1:7890
#查看正确么
git config --list

user.name=wawzysys
user.email=1916040083@qq.com
init.defaultbranch=main
http.proxy=127.0.0.1:7890

连接服务器上传本地文件

1
2
3
4
5
6
7
8
9
sftp username@ip
输入密码
#查看remote路径
pwd
#查看本地路径
lpwd
#上传
put 文件 romte_path
put data.txt /home/username/

查看显卡

1
2
3
4
5
nvidia-smi
#安装
sudo apt install nvtop
#输入nvtop查看
nvitop

20240912232146