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
相关推荐
春日见27 分钟前
如何创建一个PR
运维·开发语言·windows·git·docker·容器
DARLING Zero two♡35 分钟前
告别 Docker 命令行!Portainer+cpolar 让容器管理从局域网走向公网
运维·docker·容器
liu****1 小时前
2.深入浅出理解虚拟化与容器化(含Docker实操全解析)
运维·c++·docker·容器·虚拟化技术
logocode_li2 小时前
OCI/CRI 双标准下:从 dockerd 到 containerd 的 K8s 运行时迭代史
docker·云原生·容器·k8s
_运维那些事儿14 小时前
VM环境的CI/CD
linux·运维·网络·阿里云·ci/cd·docker·云计算
lpruoyu16 小时前
【Docker进阶-05】Docker网络
网络·docker·容器
三块钱079419 小时前
群晖docker部署Mattermost,对接openclaw
运维·docker·容器
苦逼IT运维21 小时前
从 0 到 1 理解 Kubernetes:一次“破坏式”学习实践(一)
linux·学习·docker·容器·kubernetes
萧曵 丶21 小时前
Docker 面试题
运维·docker·容器
为什么不问问神奇的海螺呢丶1 天前
n9e categraf docker 监控配置
运维·docker·容器