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
相关推荐
雪域迷影5 小时前
PostgreSQL Docker Error – 5432: 地址已被占用
数据库·docker·postgresql
莹雨潇潇6 小时前
Docker 快速入门(Ubuntu版)
java·前端·docker·容器
tangdou36909865510 小时前
Docker系列-5种方案超详细讲解docker数据存储持久化(volume,bind mounts,NFS等)
docker·容器
漫无目的行走的月亮13 小时前
在Docker中运行微服务注册中心Eureka
docker
大道归简16 小时前
Docker 命令从入门到入门:从 Windows 到容器的完美类比
windows·docker·容器
zeruns80216 小时前
如何搭建自己的域名邮箱服务器?Poste.io邮箱服务器搭建教程,Linux+Docker搭建邮件服务器的教程
linux·运维·服务器·docker·网站
爱跑步的程序员~16 小时前
Docker
docker·容器
疯狂的大狗17 小时前
docker进入正在运行的容器,exit后的比较
运维·docker·容器
长天一色17 小时前
【Docker从入门到进阶】01.介绍 & 02.基础使用
运维·docker·容器
伊玛目的门徒17 小时前
docker 搭建minimalist-web-notepad
运维·docker·notepad