建立容器并配置环境方案
Docker 命令大全 Docker 命令大全 | 菜鸟教程 (runoob.com)
Docker镜像
从dockerhub
下载镜像, 这里下载的是华为的smarts
docker pull huaweinoah/smarts
查看已有镜像
docker images
Docker容器创建
退出容器不关闭容器的方法:Ctrl+P+Q
基于镜像建立容器
docker run -it --name 容器名 镜像名:版本号 /bin/bash
官方:将容器端口设为8081端口
cd </path/to/SMARTS>
docker run --rm -it -v $PWD:/src -p 8081:8081 huaweinoah/smarts:<version>
# E.g. docker run --rm -it -v $PWD:/src -p 8081:8081 huaweinoah/smarts:v0.5.1
我的:
sudo docker run -it --net=host -v /home/XXX/huaweinoah_smarts:/src --name="huaweinoah_smarts" --glus all huaweinoah/smarts:latest /bin/bash
--glus all
是可以使用所有GPU资源,xxx:/src
是将容器中的src
挂载在xxx文件夹中,这样可以实现容器src
中的内容的一个备份效果。
--net=host
,使用宿主机的网络作为自身的网络
查看已有容器
docker ps -a
Docker容器环境配置
进入容器
docker start 容器名/ID
docker attach 容器名
先更新一下
apt-get update
apt update
安装vim tmux
apt-get install tmux vim
vim 修改只读文件,命令行模型输入
:!wq
强制保存退出
安装ssh服务,修改配置文件,启动ssh服务
apt-get install openssh-server
# 修改配置文件,详细配置网络搜索一下就好
vim /etc/ssh/sshd_config
# 启动服务
/etc/init.d/ssh start
# 端口号
Port 20
# 允许使用ssh权限登录
PubkeyAuthentication yes
# 禁用密码登录
PasswordAuthentication no
sudo 添加用户
安装sudo
apt-get install -y sudo
创建新用户(该过程会自动创建用户组和用户home目录)
adduser xxx
为新创建的用户添加sudo权限
vim /etc/sudoers
# 在/etc/sudoers文件中找到 root ALL=(ALL:ALL) ALL,在该行下面添加
xxx ALL=(ALL:ALL) ALL
切换到新用户,执行 sudo 命令验证结果
su xxx # 切换用户
sudo ls # 使用sudo权限执行ls,只要没报错就证明设置成功
内网穿透
师兄给我发了两个文件,分别是frpc
和frpc.ini
拷贝本地文件到容器
docker cp 你的文件路径 容器长ID:docker容器路径
然后他让我运行了这个指令
nohup ./frpc -c frpc.ini &
docker 进入之后出现提示符变成
$
,使用sudo
或root用户
修改/etc/passwd
,将有用户名的那一行以/bin/sh
结尾的改成/bin/bash
。
为xxx用户添加密钥登录
文件权限:Owner Group Others 三个角色
r w x: 读 写 执行权限,每个角色都能配有这三个权限
7:111:rwx
6:110:rw-
4:100:r
2:010:w
1:001:x
cd /home/xxx
mkdir .ssh
# 权限可以用774
chmod 774 .ssh/
# 将.ssh权限修改为新建用户
chown -R xxx:xxx .ssh
cd .ssh/
vim authorized_keys
# 添加用户公钥
# 权限可以用774
chmod 774 authorized_keys
chown -R xxx:xxx authorized_keys
svn项目
进入自己账号的目录下,并svn项目
cd /home/xxx
svn svn://xxx
关于root用户和普通用户的环境变量问题
问题:有些官方给的环境需要通过以下代码连接容器才能执行训练代码
sudo docker exec -it dockerID bash
解决方法:通过exec进入docker之后,执行env指令,然后把相关的重要环境变量写到root 的 .bashrc里面。
或者:配置与root相同的环境变量文件
标签:容器,sudo,--,xxx,ssh,linux,服务器,docker From: https://www.cnblogs.com/understanding-friends/p/16775857.html