首页 > 系统相关 >在linux服务器上搭建docker容器

在linux服务器上搭建docker容器

时间:2022-10-10 15:22:06浏览次数:88  
标签:容器 sudo -- xxx ssh linux 服务器 docker

建立容器并配置环境方案

Docker 命令大全 Docker 命令大全 | 菜鸟教程 (runoob.com)

Linux Linux 教程 | 菜鸟教程 (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,只要没报错就证明设置成功

内网穿透

师兄给我发了两个文件,分别是frpcfrpc.ini

拷贝本地文件到容器

docker cp 你的文件路径 容器长ID:docker容器路径

然后他让我运行了这个指令

nohup ./frpc -c frpc.ini &

docker 进入之后出现提示符变成$,使用sudoroot用户修改/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

相关文章

  • Linux find命令汇总大全和举例
    一、find命令语法格式:find[路径][选项][操作]选项参数对照表:   三、常用选项-name查找/etc目录下以conf结尾的文件,文件名区分大小写,例如:fi......
  • linux离线部署(部署ansible为例)
    准备一台能连接互联网的服务器,制作ansible离线包,我们需要使用到yumdownloader及createrepo工具。首先安装yumdownloader:yumdownloader命令在软件包yum-utils里面。先......
  • Linux系统的硬链接和软连接对比区别
    1.Linux链接概念Linux链接分两种,一种被称为硬链接(HardLink),另一种被称为符号链接(SymbolicLink)。默认情况下,ln 命令产生硬链接。硬连接硬连接指通过索引节点来进行连......
  • CentOS 7.9 安装 docker-compose
    一、CentOS7.9安装docker-compose地址https://github.com/docker/composehttps://github.com/docker/compose/releases/download/v2.1.0/docker-compose-linux-x86_......
  • Tubian Edge,Tubian Linux的滚动版本上线
    Github主页(提供下载):https://github.com/jinshulumengchuang/Tubian-Linux123网盘下载:https://www.123pan.com/s/XjkKVv-JO9Uvhttps://www.123pan.com/s/XjkKVv-BO9Uvhtt......
  • 初识Linux(一)------什么是Linux?
    前言最近遇到的项目需要在Linux上进行开发测试,作为萌新宝宝的我是一点不懂,还以为和Windows操作差不多,结果在Linux上屡屡四处碰壁,举步维艰。无奈只能祭出我本科大一就......
  • docker
     attach  Attachtoarunningcontainer               #当前shell下attach连接指定运行镜像build   BuildanimagefromaDockerf......
  • CentOS 7.9 安装 docker-20.10.12
    一、CentOS7.9安装docker-20.10.12地址https://www.docker.comhttps://hub.docker.com 二、环境查看系统内核是3.10以上的[root@ecs-65685~]#uname-aLi......
  • Linux相关命令
    查看端口和应用进程:netstat-tunlp启动jenkins:systemctlstartjenkins查看jenkins启动状态:systemctlstatusjenkins停止jenkins:systemctlstopjenkinssystemctl命......
  • linux top 查看CPU命令 top输出详解
    [root@localhost~]$top//动态查看进程使用资源的情况,每三秒刷新一次[root@localhost~]$top-c//动态查看进程使用资源的情况,但会详细地显示进程的命......