docker使用记录

用户添加到docker用户组

普通用户使用docker会提示权限不足,命令前面需要加sudo才可以,使用如下命令将当前用户添加到用户组。

  1. 添加docker用户组

    sudu groupadd docker

  2. 将当前用户加入到docker用户组

js 复制代码
sudo gpasswd -a $USER docker

3.更新用户组以使修改生效

js 复制代码
newgrp docker
  1. 还是不行,给其他用户添加读写权限
js 复制代码
sudo chmod o+rw /var/run/docker.sock
  1. 查看docker用户组
csharp 复制代码
getent group docker

添加新用户,它的基本语法如下:

css 复制代码
useradd [选项] 用户名

其中,选项可以是:

  • -m:创建用户的创建用户的主目录。

  • -s shell:指定用户的默认shell。

  • -g group:指定用户所属的初始组。

  • -G group1,group2:指定用户所属的其他附加组。

  • -p password:设置用户的密码。

例如,要创建一个名为"john"的用户,可以使用以下命令:

bash 复制代码
useradd -m -s /bin/bash john

为用户user添加密码

sql 复制代码
passwd user

usermod命令:usermod命令用于修改用户的属性。它的基本语法如下:

css 复制代码
usermod [选项] 用户名

其中,选项可以是:

  • -l 新用户名:修改用户的用户名。

  • -d 新目录:修改用户的主目录。

  • -s shell:修改用户的默认shell。

  • -g group:修改用户所属的初始组。

  • -G group1,group2:修改用户所属的其他附加组。

例如,要将"john"用户的用户名修改为"jane",可以使用以下命令:

复制代码
usermod -l jane john

userdel命令:userdel命令用于删除用户。它的基本语法如下:

css 复制代码
userdel [选项] 用户名

其中,选项可以是:

  • -r:同时删除用户的主目录。

例如,要删除"john"用户及其主目录,可以使用以下命令:

复制代码
userdel -r john

切换root用户

复制代码
su

切换用户

sql 复制代码
su - <USER>

启动docker

重启docker

复制代码
systemctl daemon-reload
sudo systemctl restart docker

创建容器

js 复制代码
-itd 容器保持后台运行
-p 端口映射,8080:22 服务器端口8080映射到容器端口22
--name 容器名
-h 容器机器名
-u 指定用户
-v 文件映射 宿主机文件:容器目录
--gpus all 使用主机显卡,无此项,不能使用显卡
shm-size 指定cpu share memory容量,防止batcha过大时,dataloader错误
--ipc=host 共享宿主机内存

示例

js 复制代码
docker run -itd -p 1000:22 -u root --name crxm --gpus all --ipc=host -v /data:/data linux_ssh

进入容器

bash 复制代码
-it 交互式命令行
/bin/bash 保持容器后台运行

示例

打开容器

js 复制代码
docker start <CONTAINER_ID>

关闭容器

arduino 复制代码
docker stop <CONTAINER_ID>

进入运行中的容器

js 复制代码
docker exec -it crxm /bin/bash

docker常用命令

查看镜像

复制代码
docker images

删除镜像

xml 复制代码
docker rmi <IMAGES_NAME>

查看容器

css 复制代码
docker ps -a

删除容器

bash 复制代码
docker rm -f <CONTAINER_ID>

提交镜像,将容器打包成镜像

xml 复制代码
docker commit <CONTAINER_ID> <NEW_IMAGE_NAME>

镜像存储到tar文件中

xml 复制代码
docker save <IMAGE> > <IMAGE_TAR_FILE>

解包tar文件为镜像

lua 复制代码
docker load < <IMAGE_TAR_FILE>

上传主机文件到容器中

bash 复制代码
docker cp local_file_path container_name_or_id:/container_path

安装ssh

进入容器,先选择一个用户登陆, 安装ssh

sql 复制代码
apt-get update
apt-get install openssh-server
apt-get install vim

对ssh文件进行配置

bash 复制代码
vim /etc/ssh/sshd_config

修改PermitRootLogin参数修改为yes,保存

修改密码passwd

启动ssh服务

sql 复制代码
service ssh start

重启ssh服务

复制代码
service ssh restart

查看ssh服务状态

lua 复制代码
service ssh status

如果报错 sshd: no hostkeys available -- exiting. 运行如下

bash 复制代码
ssh-keygen -A
/etc/init.d/ssh start

容器内容查看ip地址cat /etc/hosts

安装Anaconda

官网下载安装包

xml 复制代码
bash ./<anaconda_path>

如果提示conda命令不存在,进入anaconda3/bin目录

bash 复制代码
chmod 777 activate
source ./activate

创建python虚拟环境

ini 复制代码
conda create --name my_first_env python=3.6

迁移虚拟环境时,安装conda-pack

perl 复制代码
pip install conda-pack

打包虚拟环境,-n 为虚拟环境名称, -o 为输出文件名

perl 复制代码
conda pack -n torch -o torch.tar.gz

解压并激活虚拟环境

bash 复制代码
mkdir anaconda3/envs/torch
tar -xzvf torch.tar.gz -C anaconda3/envs/torch
source anaconda3/envs/torch/bin/activate

输入which python可查看是否为虚拟环境的python

安装pytorch

ini 复制代码
conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
相关推荐
天一生水water19 小时前
ubuntu使用毫秒镜像方式安装docker mysql
ubuntu·阿里云·docker
Qayrup21 小时前
docker 搭建私有仓库,推送并拉取
运维·docker·容器
郭庆汝1 天前
docker拉取英伟达官方cuda11.8镜像
docker·cuda11.8
天下不喵1 天前
Ubuntu24.04安装Docker过程记录
docker
冷血~多好1 天前
使用docker部署elk,实现日志追踪
elk·docker·容器
天一生水water1 天前
docker-compose安装
运维·docker·容器
蓝象_1 天前
docker安装配置mysql
mysql·docker·容器
一叶知秋yyds1 天前
Centos 安装 Docker教程
linux·docker·centos
return(b,a%b);1 天前
docker拉取失败,更换docker的源
docker·容器·eureka
IT小哥哥呀1 天前
Jenkins + Docker 打造自动化持续部署流水线
docker·微服务·自动化·jenkins·springboot·高并发·限流