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
相关推荐
计算机小手8 分钟前
一个带Web UI管理的轻量级高性能OpenAI模型代理网关,支持Docker快速部署
经验分享·docker·语言模型·开源软件
坚持学习前端日记1 小时前
常见docker指令
docker·容器·eureka
小芳矶1 小时前
Dify本地docker部署踩坑记录
python·docker·容器
70asunflower2 小时前
阿里云无影云电脑 Docker 使用完全指南
阿里云·docker·云计算
feasibility.4 小时前
在OpenCode使用skills搭建基于LLM的dify工作流
人工智能·低代码·docker·ollama·skills·opencode·智能体/工作流
lpruoyu5 小时前
【Docker进阶-02】Docker命令
docker·容器
FLGB6 小时前
Docker网段和服务器内部网段172.17 网段冲突导致网络不通
服务器·网络·docker
骂我的人都死了8 小时前
DevOps架构部署
运维·ubuntu·docker·k8s·github·devops·python3.11
AL3178 小时前
模拟实现NetDevOps全生命周期自动化网络运维
运维·docker·centos·ensp·netmiko
Alaaaaaaan8 小时前
[DevOps]使用github-action工具部署docker容器(实现提交代码一键推送部署到服务器)
服务器·前端·docker·容器·github