添加软件源,需要提前配置好 yum yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo ll /etc/yum.repos.d/ total 12 -rw-r--r--. 1 root root 2323 Jun 16 17:53 CentOS-Base.repo -rw-r--r--. 1 root root 2640 Jun 17 19:25 docker-ce.repo -rw-r--r--. 1 root root 358 Jun 16 17:52 redhat.repo 添加必要的依赖 yum install -y yum-utils device-mapper-persistent-data lvm2 更新并安装 Docker-CE yum makecache fast yum -y install docker-ce 开启Docker服务 systemctl start docker 这个命令会在/var/lib目录下创建一个docker目录 后续导入的镜像,生成的容器等文件会存这个目录下 |
linux https://blog.csdn.net/2401_83620690/article/details/137858054 root@ai:~# docker --version Docker version 24.0.5, build 24.0.5-0ubuntu1~22.04.1 二、Docker19.03之后,内置gpu支持**** 增加了对–gpus选项的支持,我们在docker里面想读取nvidia显卡再也不需要额外的安装nvidia-docker2了。需要提前禁用nouveau:lsmod | grep nouveau没有输出即禁用了 需要安装: 1.安装nvidia驱动、cuda root@ai:~# ll /usr/local/cuda lrwxrwxrwx 1 root root 22 5月 9 15:40 /usr/local/cuda -> /etc/alternatives/cuda/ 2、安装nvidia-container-runtime 3、安装docker-19.03 1、安装驱动和cuda: 下载对应版本的cuda:CUDA Toolkit 12.1 Update 1 Downloads | NVIDIA Developer 比如我下载的为Centos7版本的RPM包,下载后直接安装。安装cuda的时候会自动安装nvidia驱动,控制台信息: Installing the NVIDIA display driver… Installing the CUDA Toolkit in /usr/local/cuda-9.1 … ps:也可以先手动安装驱动,然后再通过.run文件安装cuda(可以选择不安装nvidia驱动) 安装cuda时报错:错误:软件包xxx需要:opencl-filesystem、ocl-icd 解决:安装epel数据源即可yum install epel-release –y。 ———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/2401_83620690/article/details/137858054 2、安装nvidia-container-runtime: distribution=$(. /etc/os-release;echo I D ID IDVERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo sudo yum install -y nvidia-container-toolkit nvidia-container-runtime ———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/2401_83620690/article/details/137858054 3、运行容器时,添加**–**gpu参数启用gpu支持。 使用所有GPU $ docker run --gpus all nvidia/cuda:9.0-base nvidia-smi 使用两个GPU $ docker run --gpus 2 nvidia/cuda:9.0-base nvidia-smi 指定GPU运行 $ docker run --gpus ‘“device=1,2”’ nvidia/cuda:9.0-base nvidia-smi $ docker run --gpus ‘“device=UUID-ABCDEF,1”’ nvidia/cuda:9.0-base nvidia-smi docker exec -it centos #进入容器 nvidia-smi #容器内查看gpu使用情况 测试:docker pull ufoym/deepo:keras-py36-cu80 #拉取支持gpu的keras & tensorflow环境 docker run --gpus all --rm -it ufoym/deepo:keras-py36-cu80 #启动后,进入容器。 进入python环境 (docker run --gpus all --rm -it ufoym/deepo) ———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/2401_83620690/article/details/137858054 Ubuntu distributions # Install nvidia-docker and nvidia-docker-plugin wget -P /tmp https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.0-rc/nvidia-docker_1.0.0.rc-1_amd64.deb sudo apt-get update sudo apt-get install sysv-rc sudo dpkg -i /tmp/nvidia-docker_1.0.0.rc-1_amd64.deb && rm /tmp/nvidia-docker*.deb # Test nvidia-smi nvidia-docker run --rm nvidia/cuda nvidia-smi Other distributions # Install nvidia-docker and nvidia-docker-plugin wget -P /tmp https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.0-rc/nvidia-docker_1.0.0.rc_amd64.tar.xz sudo tar --strip-components=1 -C /usr/bin -xvf /tmp/nvidia-docker_1.0.0.rc_amd64.tar.xz && rm /tmp/nvidia-docker*.tar.xz # Run nvidia-docker-plugin sudo -b nohup nvidia-docker-plugin > /tmp/nvidia-docker.log # Test nvidia-smi nvidia-docker run --rm nvidia/cuda nvidia-smi Standalone install # Install nvidia-docker and nvidia-docker-plugin wget -P /tmp https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.0-rc/nvidia-docker_1.0.0.rc_amd64.tar.xz sudo tar --strip-components=1 -C /usr/bin -xvf /tmp/nvidia-docker_1.0.0.rc_amd64.tar.xz && rm /tmp/nvidia-docker*.tar.xz # One-time setup sudo nvidia-docker volume setup # Test nvidia-smi nvidia-docker run --rm nvidia/cuda nvidia-smi https://www.jb51.net/server/311388mrs.htm |
sudo apt-get update sudo apt install docker.io systemctl unmask docker.service systemctl unmask docker.socket systemctl start docker.service sudo systemctl start docker sudo systemctl enable docker docker -v 然后补充nvidia docker安装,安装方法会随版本/时间变化,具体看官网 本此安装(ubuntu24,2024-10-15) https://nvidia.github.io/nvidia-docker https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html nvidia驱动安装 sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update sudo apt upgrade 使用ubuntu-drivers工具检测可用的NVIDIA驱动,并安装推荐的驱动: ubuntu-drivers devices sudo ubuntu-drivers autoinstall curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list sudo apt-get update sudo apt-get install -y nvidia-container-toolkit sudo apt-get install -y nvidia-docker2 sudo systemctl restart docker docker run -itd --privileged --name kl -h kl --net=host --gpus all -v /tmp:/tmp -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all cent7 bash root@ai:/tmp# docker exec -it kl bash [root@kl /]# [root@kl /]# [root@kl /]# nvidia-smi Mon May 20 03:35:49 2024 +---------------------------------------------------------------------------------------+ | NVIDIA-SMI 535.171.04 Driver Version: 535.171.04 CUDA Version: 12.2 | |-----------------------------------------+----------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+======================+======================| | 0 NVIDIA GeForce RTX 4070 ... Off | 00000000:01:00.0 Off | N/A | | N/A 38C P0 N/A / 55W | 8MiB / 8188MiB | 0% Default | | | | N/A | +-----------------------------------------+----------------------+----------------------+ +---------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=======================================================================================| +---------------------------------------------------------------------------------------+ yum -y install epel-release yum install -y git gcc-c++ automake autoconf patch sox file gcc-gfortran libtool subversion python3 p7zip p7zip-plugins tcl zlib-devel yum install -y net-tools libaio numactl yum -y install gcc gcc-c++ autoconf make yum install openssl-devel bzip2-devel ### gcc 升级-8 yum install centos-release-scl yum install devtoolset-8-gcc* /usr/bin/scl enable devtoolset-8 bash https://github.com/wangkaisine/SGE-On-CentOS https://ant.apache.org/bindownload.cgi cd /opt/app/ wget https://dlcdn.apache.org//ant/binaries/apache-ant-1.10.14-bin.tar.gz tar -xvf apache-ant-1.10.14-bin.tar.gz JDK5 https://www.oracle.com/it/java/technologies/java-archive-javase5-downloads.html export JAVA_HOME=/opt/app/jdk-11 export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:/opt/app/apache-ant-1.10.14/lib/ant-launcher.jar:/opt/app/apache-ant-1.10.14/lib/ant.jar:$CLASSPATH export PATH=$JAVA_HOME/bin:/opt/app/apache-ant-1.10.14/bin:$PATH yum -y install epel-release yum -y install jemalloc-devel openssl-devel ncurses-devel pam-devel libXmu-devel hwloc-devel hwloc hwloc-libs java-devel javacc ant-junit libdb-devel motif-devel csh ksh xterm db4-utils perl-XML-Simple perl-Env xrog-x11-fonts-ISO8859-1-100dpi xrog-x11-fonts-ISO8859-1-75dpi sudo yum install -y binutils binutils-devel gcc gcc-c++ glibc glibc-devel libaio libaio-devel libXext libXtst libX11 libXau libXi make sysstat mkdir -p /BiO/src cd /BiO/src wget https://arc.liv.ac.uk/downloads/SGE/releases/8.1.9/sge-8.1.9.tar.gz tar -zxvf sge-8.1.9.tar.gz cd sge-8.1.9/source/ sh scripts/bootstrap.sh && ./aimk && ./aimk -man export SGE_ROOT=/Bio/gridengine && mkdir $SGE_ROOT echo Y | ./scripts/distinst -local -allall -libs -noexit chown -R sgeadmin.ageadmin /BiO/gridengine SGE安装包下载地址: https://sourceforge.net/projects/gridengine/files/SGE/releases/8.1.9/ https://arc.liv.ac.uk/downloads/SGE/releases/8.1.9/sge-8.1.9.tar.gz https://download.csdn.net/download/chenyuan1972/33253084?utm_source=bbsseo tar -xzf sge-8.1.9.tar.gz cd sge-8.1.9 ./install export SGE_ROOT=/path/to/sge export PATH=$SGE_ROOT/bin:$PATH 参考 https://zhuanlan.zhihu.com/p/658600079 |
If you have trouble building vLLM, we recommend using the NVIDIA PyTorch Docker image. # Use `--ipc=host` to make sure the shared memory is large enough. docker run --gpus all -it --rm --ipc=host nvcr.io/nvidia/pytorch:23.10-py3 https://github.com/triton-inference-server/server/issues/5931 ERROR: The NVIDIA Driver is present, but CUDA failed to initialize. #5931 选择正确的CUDA版本 https://docs.nvidia.com/deeplearning/triton-inference-server/release-notes/rel-23-06.html#rel-23-06 docker network create --subnet=192.168.73.0/24 mydk docker run -itd --privileged --name llm -h llm --net=host --ipc=host --gpus all -v /C/wks:/opt/wks -v /C/docker/data:/data -v /C/docker/app:/opt/app -v /F/soft:/opt/soft -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all nvcr.io/nvidia/pytorch:23.10-py3 bash docker run -itd --privileged --name llm -h llm --net=host --gpus all -v /C/wks:/opt/wks -v /C/docker/data:/data -v /C/docker/app:/opt/app -v /K/soft:/opt/soft -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all nvcr.io/nvidia/pytorch:23.10-py3 bash docker exec -it llm bash docker run -itd --privileged --name kl -h kl --gpus all -p 18009:8009 -p 18008:8008 -p 18007:8007 -p 18006:8006 -p 18005:8005 -p 18004:8004 -p 18003:8003 -p 18002:8002 -p 18001:8001 -p 18000:8000 -p 19000:9000 -p 8888:8888 -p 19999:9999 -v /C/wks:/opt/wks -v /C/docker/data:/data -v /C/docker/app:/opt/app -v /F/soft:/opt/soft -v /F/models:/models -v /F/tpf:/opt/tpf -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all ubuntu bash |
service ssh start mv /usr/bin/systemctl /usr/bin/systemctl.old curl https://raw.githubusercontent.com/gdraheim/docker-systemctl-replacement/master/files/docker/systemctl.py > /usr/bin/systemctl chmod +x /usr/bin/systemctl sudo yum update sudo yum install openssh-server sudo systemctl status sshd sudo systemctl enable sshd sudo netstat -tulnp | grep sshd 替换CentOB-Base [base] name=CentOS-$releasever - Base - mirrors.aliyun.com baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 sudo yum clean all sudo yum makecache sudo yum update |
安装前修改
ln -s /data/app/docker /var/lib/docker 更重要/方便的是, 如果之前有一套docker正在用,那么先关闭docker,备份/var/lib/docker目录 迁移/重装OS之后,再将之前备份的/var/lib/docker目录映射回来, 就跟原来的一模一样
安装后修改
docker会下载容器,运行会挂载磁盘,所以我们需要把docker装在大容量的分区。 docker info #查看docker的基本信息 #停止docker服务 systemctl stop docker #备份原目录 systemctl stop docker cp -r /var/lib/docker /opt/app/docker mv /var/lib/docker /var/lib/docker.bak ln -s /opt/app/docker /var/lib/docker systemctl start docker 如果是WSL,即在WSL中安装docker, 不允许使用外挂目录,即无法将插入电脑的移动硬盘,挂载到docker上了
### 初始化镜像 cat centos-7-x86_64.tar.gz |docker import - cent7 ### 创建子网 为docker划分一个子网段,仅限于该服务器内使用 docker network rm mydk docker network create --subnet=192.168.73.0/24 mydk ### 创建容器 docker run -itd --name pt1 -h pt1 --net mydk --ip 192.168.73.111 -v /opt:/opt/ -v /tmp:/tmp cent7 bash docker exec -it pt1 bash ### 依赖安装 yum install -y net-tools libaio numactl yum -y install gcc gcc-c++ autoconf make yum install openssl-devel bzip2-devel 独立的系统配置文件,可以在docker中使用systemctl命令 docker run -itd --privileged --name ch2 -h ch2 --net mydk --ip 192.168.1.122 -v /export/tanpengfei3/docker/clickhouse2:/export -v /tmp:/tmp -v /opt/:/opt cent7 /usr/sbin/init docker exec -it ch2 bash yum install -y net-tools libaio numactl docker load and save --------------------------------------- docker save -o 文件名 镜像名 docker load -i 文件名 docker重命名 docker tag 9d5e8ab5c9b3 ubuntu:1.2
root@ai:~# docker ps -a |grep py1 5f9beeb10544 cent7 "/usr/sbin/init" 2 hours ago Exited (137) 4 minutes ago py1 docker commit -m "add webrtc" -a "73biji" 5f9beeb10544 py1:1 root@ai:~# docker images REPOSITORY TAG IMAGE ID CREATED SIZE py1 1 04940cdcebdf 56 seconds ago 1.92GB cent7 latest ab5ce6c9b1ab 2 weeks ago 589MB 保存 docker save -o py1_1.tar 04940cdcebdf 或 docker save -o py1.tar py1:1 删除 dcoker rmi 04940cdcebdf 导入py1_1.tar,需要重新命名 docker load -i py1_1.tar 重新起个名字 docker tag 04940cdcebdf py1:1 删除 dcoker rmi 04940cdcebdf 导入py1.tar,不需要重新命名,因为导出时带名称了 docker load -i py1.tar 查看镜像 root@ai:~# docker images REPOSITORY TAG IMAGE ID CREATED SIZE py1 1 04940cdcebdf 10 minutes ago 1.92GB
指定网段
为docker划分一个子网段,仅限于该服务器内使用 docker network rm mydk docker network create --subnet=192.168.73.0/24 mydk docker run -itd --name pt1 -h pt1 --net mydk --ip 192.168.73.111 -v /opt:/opt/ -v /tmp:/tmp cent7 bash docker exec -it pt1 bash
拥有systemctl使用权限
docker run -itd --privileged --name py1 -h py1 --net mydk --ip 192.168.73.73 -v /opt:/opt -v /tmp:/tmp cent7 /usr/sbin/init docker exec -it py1 bash
与主机共享IP+端口映射
docker run -itd --name py1.1 -h py1.1 --net=host -p 3000:3000 -p 8888:8888 -p 8080:8080 -p 8000:8000 -p 8008:8008 -v /opt:/opt -v /tmp:/tmp -v /media:/media py1:1 bash root@ai1:~# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 79f3308df2cd py1:1 "bash" 31 seconds ago Up 29 seconds py1.1 docker exec -it py1.1 bash
外挂磁盘映射
docker run -itd --name py1.2 -h py1.2 --net=host -p 8888:8888 -p 8080:8080 -v /opt:/opt -v /tmp:/tmp -v /media:/media py1:3 bash -v /media:/media,这里是ubantu系统,这种方式直接将插入ubantu系统的磁盘,映射到了docker中 如果有独立的IP,可以使用nfs挂载远程的目录 docker run -itd --privileged --name py1 -h py1 --net mydk --ip 192.168.73.73 -v /opt:/opt -v /tmp:/tmp -v /media:/media py1:3 bash
与主机共享IP,不必再设置端口映射,docker用的就是主机的端口, docker run -itd --privileged --name py1 -h py1 --net=host -v /opt:/opt -v /tmp:/tmp -v /media:/media -v /data:/data py1:1 bash docker run -itd --privileged --name k2 -h k2 --net=host -v /tmp:/tmp -v /media:/media kaldi:2 bash 日常前端开发环境:包含NodeJs,python 等 docker commit -m "nodejs and python env" -a "tanpf" a7b77c5f1c80 dev:1 docker save -o /data/docker/dev_1.tar dev:1 docker commit -m "kaldi open" -a "tanpf" 8d90fe5b5da9 kaldi:1 kaldi创建记录 cat centos-7-x86_64.tar.gz |docker import - cent7 docker run -itd --privileged --name kl -h kl --net=host -v /tmp:/tmp cent7 bash docker run -itd --privileged --name kl -h kl --net=host -v /mnt/w/data:/data -v /mnt/w/tpf:/opt/tpf -v /mnt/w/soft:/opt/soft -v /mnt/w/tmp:/tmp -v /mnt/w/docker/ai:/ai cent7 bash dev cat centos-7-x86_64.tar.gz |docker import - cent7 docker run -itd --privileged --name nd -h nd --net=host -v /wks:/wks -v /tmp:/tmp cent7 bash docker run -itd --privileged --name kk -h kk --net=host -v /tmp:/tmp dev:2 bash docker run -itd --privileged --name ol -h ol --net=host -v /data:/data -v /media:/media -v /tmp:/tmp dev:3 bash docker run -itd --privileged --name ki -h ki --net=host -v /data:/data -v /media:/media -v /tmp:/tmp -v /media/xt/tpf/tpf:/opt/tpf dev:4 bash docker run -itd --privileged --name ki -h ki --net=host -v /data:/data -v /media:/media -v /tmp:/tmp -v /mnt:/mnt -v /mnt/c/wks:/opt/wks dev:4 bash docker run -itd --privileged --name ki -h ki --net=host -v /data:/data -v /media:/media -v /tmp:/tmp -v /mnt:/mnt -v /mnt/c/wks:/opt/wks dev:5 bash docker run -itd --privileged --name kk -h kk --net=host -v /data:/data -v /media:/media -v /tmp:/tmp -v /mnt/c/wks:/opt/wks dev:5 bash alias kl="docker exec -it kl bash" alias kk="docker exec -it kk bash" alias dev="docker exec -it ol bash" docker run -itd --privileged --name kk -h kk --net=host -v /wks:/wks -v /tmp:/tmp -v /data:/data -v /media:/media cent7 bash docker run -itd --privileged --name kk -h kk --net=host -v /opt:/opt -v /wks:/wks -v /tmp:/tmp -v /data:/data -v /media:/media cent7 bash alias kk="docker exec -it kk bash" yum install -y net-tools libaio numactl yum -y install gcc gcc-c++ autoconf make yum install openssl-devel bzip2-devel |
不建议在docker中存储数据,尤其是WSL上的docker,可能第二天起来连docker都没了 cat centos-7-x86_64.tar.gz |docker import - cent7 docker network rm mydk docker network create --subnet=192.168.73.0/24 mydk docker run -itd --name kk -h kk --net mydk --ip 192.168.73.11 -p 33000:8000 -p 33033:33033 -p 33088:8888 -p 33008:8008 -p 33007:8007 -p 33006:8006 -p 33005:8005 -p 33004:8004 -v /opt:/opt -v /data:/data -v /mnt:/mnt -v /media:/media -v /tmp:/tmp cent7 bash docker exec -it kk bash alias kk="docker exec -it kk bash" yum install -y net-tools libaio numactl yum -y install gcc gcc-c++ autoconf make yum install openssl-devel bzip2-devel adduser xt adduser mysql chown -R mysql.mysql /opt/app/mysql [root@kk web73]# ./web73 addr:192.168.73.11:33033,upload dir:/tmp http://172.31.150.83:33033 PS C:\wks\app> docker save -o ubantu.tar ubuntu PS C:\wks\app> docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b5195d17cfd9 nvcr.io/nvidia/pytorch:23.10-py3 "/opt/nvidia/nvidia_…" 7 weeks ago Exited (137) 7 hours ago llm b7de48446fea ubuntu "bash" 2 months ago Exited (255) 2 months ago 0.0.0.0:8000-8003->8000-8003/tcp kl 2b93868550bf ghcr.io/open-webui/open-webui:ollama "bash start.sh" 2 months ago Up About a minute (healthy) 0.0.0.0:3000->8080/tcp open-webui c04e4d2628b2 lobehub/lobe-chat "docker-entrypoint.s…" 2 months ago Exited (255) 2 months ago 0.0.0.0:3210->3210/tcp recursing_cannon PS C:\wks\app> docker commit -m "open-webui" -a "73biji" 2b93868550bf open-webui:1 |
xt@ai:~/soft/docker$ sudo su - root root@ai:~# docker load -i /home/xt/soft/docker/kk.tar docker run -itd --privileged --name kk -h kk --net host -v /opt:/opt -v /data:/data -v /mnt:/mnt -v /media:/media -v /tmp:/tmp kk bash docker exec -it kk bash alias kk="docker exec -it kk bash" alias mstart="nohup mysqld_safe --defaults-file=/opt/app/mysql/data/my_13301.cnf --user=mysql &" alias min="mysql -uautomng -pAutomng_123 -S /opt/app/mysql/data/logs/my_13301.sock" export PYTHONPATH=/data/jupyter/python/lib/python3.10/site-packages export PATH=/data/jupyter/python/bin:$PATH export NODEWKS=/wks/nodejs export NODE_BASE=$NODEWKS/app/node-v14.21.3-linux-x64 export PATH=$NODE_BASE/bin:$PATH export NODE_GLOBAL=$NODE_BASE/global export PATH=$NODE_GLOBAL/bin:$PATH alias www="ssh -p '26225' '144.34.185.72'" alias ggg="rsync -e 'ssh -p26225' -avP 144.34.185.72:/data/jupyter/python /data/jupyter/" alias ccc="rsync -e 'ssh -p26225' -avP 144.34.185.72:/home/xt/.cache/* ~/.cache/" alias tx="ssh '101.43.140.244'" |
docker pull ubuntu:latest docker run -itd --privileged --name kl -h kl --net=mydk --gpus all --ip 192.168.73.12 -p 8000:8000 -p 8001:8001 -p 8002:8002 -p 8003:8003 -v /C/wks:/opt/wks -v /T/soft:/opt/soft -v /D/app:/opt/app -v /T/data:/data -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all ubuntu bash apt update apt install net-tools vim pkg-config git ntpdate libncurses5 libxft-dev curl apt-get install libssl-dev #openssl apt-get install p7zip-full sudo gcc软件包 sudo apt install build-essential apt install cmake cd vim .bashrc alias ll='ls -l' |
需要先启动桌面docker 连接oracle环境,机器学习 docker run -itd --privileged --name kk -h kk --net=host -v /c/wks:/opt/wks -v /d/soft:/opt/soft -v /k/soft:/opt/soft2 node:v1.1 bash |
docker run -itd --privileged --name lm -h lm --net=host --gpus all -v /data:/data -v /mnt/c/wks:/opt/wks -v /mnt/d/soft:/opt/soft -v /mnt/d/app:/opt/app -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all nvcr.io/nvidia/pytorch:23.10-py3 bash |
docker network rm mydk docker network create --subnet=192.168.73.0/24 mydk
dev2
docker run -itd --privileged --name jk -h jk --net=host -v /tmp:/tmp dev:2 bash docker exec -it jk bash
(base) [xt@kk wks]$ pwd /home/xt/wks (base) [xt@kk wks]$ ll total 4 drwxrwxr-x. 1 xt xt 4096 Apr 9 05:33 blog drwxrwxr-x. 1 xt xt 18 Apr 8 10:13 wasm drwxr-xr-x. 1 xt xt 20 Jun 17 01:14 webrtc (base) [xt@kk yuyin1]$ pwd /home/xt/wks/webrtc/yuyin1 https://192.168.1.143:8080
在windows自带的ubuntu环境上创建一个docker, -p 22001:22 把ubantu的上22001映射到docker中ssh默认的22端口, 连接ubantu上的22001即连接到docker root@qisan:/data/jupyter# cd /mnt/d/soft/ root@qisan:/mnt/d/soft# docker load -i docker/ubantu20.tar 867d0767a47c: Loading layer [==================================================>] 75.14MB/75.14MB Loaded image: ubuntu:20.04 root@qisan:/mnt/d/soft# docker images|grep ubuntu ubuntu 20.04 ff0fea8310f3 2 years ago 72.8MB 由于多添加几个端口映射,后续若端口不够用,可以配置nginx转发 docker run -itd --privileged --name a11 -h a11 --gpus all -p 22001:22 -p 8009:8009 -p 8008:8008 -p 8000:8000 -p 9000:9000 -p 8888:8888 -p 9999:9999 -v /opt:/opt -v /data:/data -v /tmp:/tmp -v /mnt:/mnt -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all ubuntu:20.04 bash apt update apt install net-tools vim pkg-config git ntpdate libncurses5 libxft-dev curl 6 31 apt install build-essential apt install cmake sudo |
docker run --gpus all -it -d --shm-size=1g --name cm_syfang -v /home/host/xxxx:/home/container/xxxx -p 8022:22 repository:tag 命令 --gpus all 表示容器内可以使用所有 gpu 设备 命令 --gpus “device=0,1”表示使用第一和第二个 gpu 设备 命令 -it 表示进入 docker 之后使用命令行交互 命令 -d 表示后台运行 命令 --shm-size=1g 调整容器共享内存大小 命令 --name attack_liujun 给 docker 容器命名 命令 -v [主机目录]:[容器目录] 挂载数据卷,实现数据的共享和持久化,注意使用绝对路径方式 挂载目录的优点 1.实现数据备份;2.方便数据传输 命令 -p xxxx:22 此时便做了主机端口 8022 与容器端口 22 的映射,可以通过这个端口连接到远程的服务器 ———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/u012408145/article/details/140666798 |
安装 ssh 服务 sudo apt-get install openssh-server 设置 root 用户密码(设置 root 用户密码为: admin(尽量使用统一的密码)) passwd root 在容器内修改 ssh 配置文件 输入指令 sudo vim /etc/ssh/sshd_config 修改 ssh 配置文件 命令 i: 表示在当前光标位置进入输入模式 在末尾“插入模式”添加下面内容: PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PermitRootLogin yes 按“Esc”取消“插入模式”,并输入 :wq 保存并退出 启动 ssh 服务 sudo /etc/init.d/ssh start 重启 ssh service ssh restart sudo service ssh status 原文链接:https://blog.csdn.net/u012408145/article/details/140666798 |
端口映射方式 apt install net-tools ifconfig ssh -p 22001 root@172.31.150.83 如果是开发好一些服务,供他人方便调用时,可提前映射端口, 但若是开发环境,不知道有哪些端口时, 这些端口如果没有提前映射, 那么还需要重新创建docker以映射端口,可以提前多创建几个端口映射 |
sudo apt-get update sudo apt-get install nginx sudo systemctl start nginx sudo systemctl enable nginx sudo ufw allow 80 定位Nginx配置文件: Nginx的主配置文件通常位于/etc/nginx/nginx.conf, 但更常见的做法是在/etc/nginx/sites-available/目录下创建或修改配置文件, 然后将其链接到/etc/nginx/sites-enabled/目录。 vim /etc/nginx/sites-available/default jupyter端口转发示例 root@qisan:/etc/nginx/sites-available# cat default server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html; server_name _; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; } location /pt11 { proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_pass http://172.17.0.2:8888; } } cat ~/.jupyter/jupyter_notebook_config.py c.NotebookApp.ip='*' c.NotebookApp.open_browser=False c.NotebookApp.port=8888 c.NotebookApp.base_url = '/pt11/' 重点是 c.NotebookApp.base_url = '/pt11/' nginx -t systemctl restart nginx |