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
相关推荐
sam-12333 分钟前
k8s上部署redis高可用集群
redis·docker·k8s
Fanstay9851 小时前
在Linux中使用Nginx和Docker进行项目部署
linux·nginx·docker
death bell3 小时前
Docker基础概念
运维·docker·容器
天幕繁星4 小时前
docker desktop es windows解决vm.max_map_count [65530] is too low 问题
windows·elasticsearch·docker·docker desktop
想学习java初学者5 小时前
Docker Compose部署Kafka(非Zookeeper)
docker·容器·kafka
尝尝你的优乐美6 小时前
Docker部署Vue项目原来可以那么好用
前端·nginx·docker
迷茫运维路6 小时前
docker搭建Jenkins2.346.3版本及常用工具集成配置(ldap、maven、ansible、npm等)
运维·docker·jenkins·cicd
我叫乐多你养我啊6 小时前
Windows远程连接Docker服务
笔记·docker
mit6.8249 小时前
[Docker#5] 镜像仓库 | 命令 | 实验:搭建Nginx | 创建私有仓库
linux·后端·docker·云原生
牛右刀薛面9 小时前
麒麟V10,arm64,离线安装docker和docker-compose
运维·docker·容器·麒麟·鲲鹏