docker 常用命令

载入镜像启动容器
docker run -it image-name:tag
载入镜像启动容器(启用GPU)
docker run -it –gpus all image-name:tag
查看容器运行情况
docker ps -a
停止运行的容器
docker stop containerid
停止所有运行的容器
docker stop $(docker ps -a -q) 括号中的命令是查看所有容器ID
重启容器
docker restart containerid
进入容器
docker attach containerid \ docker exec -it containerid /bin/bash
重启并进入容器
docker start -i containerid

端口、目录映射
docker run -p 主机端口:容器端口 image:tag
docker run -it -v 主机目录:容器目录 image:tag 注:目录必须是绝对路径

设置共享内存容量
docker run … –shm-size 8G

在容器中运行程序报nccl错误,可以在启动容器时加上–ipc=host参数


查看容器运行情况
docker ps -a
停止运行的容器
docker stop containerid
停止所有运行的容器
docker stop $(docker ps -a -q) 括号中的命令是查看所有容器ID
重启容器
docker restart containerid
进入容器
docker attach containerid \ docker exec -it containerid /bin/bash
重启并进入容器
docker start -i containerid


删除容器
docker rm containerid
删除所有容器
docker rm $(docker ps -a -q)

查看镜像
docker images
删除镜像(需要先停止并删除使用该镜像运行的容器)
docker rmi imageid (加上 -f 可以强制删除)

将容器保存为镜像
docker commit -a ‘修改作者’ -m ‘描述’ containerID image-name:new-tag

将镜像打包为tar文件
docker save -o xxx.tar image-name:tag
从打包文件提取镜像
docker load -i xxx.tar
提取之后镜像会保存到本地,就可以运行该镜像了

将容器打包为tar文件
docker export -o xxx.tar container-name
将export打包的文件提取出镜像
docker import xxx.tar image-name:tag 注:这里image-name:tag是自己取的

docker save和export的区别
docker save会保存镜像的历史记录,而export不会保存。export仅保存容器当前的状态

压缩镜像大小
pip install docker-squash
docker-squash image:old -t image:new

ubuntu 通过xrdp建立远程桌面连接

首先安装桌面环境用于远程桌面。xfce是一个比较合适的桌面环境。

按照下面链接的步骤安装桌面环境与xrdp

https://www.itcoder.tech/posts/how-to-install-xrdp-on-ubuntu-18-04/

安装完成后,发现连接远程后,输入账号密码后会蓝屏,用下面链接的方法解决。安装非官方的xrdp,可能官方的xrdp是有问题的

https://askubuntu.com/questions/1166568/remote-desktop-blue-screen-after-login

sudo add-apt-repository ppa:martinx/xrdp-hwe-18.04
sudo apt-get update
sudo apt-get install xrdp xorgxrdp

ubuntu 挂载硬盘

添加全新的硬盘(未分区)到Ubuntu当中。

先查看硬盘信息sudo fdisk -lu。找到新加的硬盘,比如是/dev/sdc

然后对该硬盘进行分区。fdisk /dev/sdc 输入m查看帮助,输入n进行分区。查看新增分区fdisk -l

然后对硬盘进行格式化 mkfs.ext4 /dev/sdc1

使用lsblk查看硬盘的挂载情况

挂载。一般是挂载再/mnt目录下。新建挂载文件夹/mnt/c, 然后挂载mount /dev/sdc1 /mnt/c。

配置开机自动挂载。 vim /etc/fstab 添加一行

/dev/sdc1(磁盘分区) /mnt/c(挂载目录) ext4(文件格式)defaults 0 0

ubuntu 安装显卡驱动

刚刚装了ubuntu18.04的系统,没有显卡驱动,使用ubuntu自带的软件仓库中提供的驱动进行安装。首先输入:ubuntu-drivers devices ,可以看到显卡的信息和一些 驱动版本,其中有一个是推荐安装版本。我的推荐安装版本是450 。 也可以先添加 PPA 软件仓库:sudo add-apt-repository ppa:graphics-drivers/ppa,然后apt update更新仓库,再进行上一步操作

如果同意安装推荐版本,只需要终端输入:sudo ubuntu-drivers autoinstall 就可以自动安装了

或者sudo apt install nvidia-driver-455 (使用官方源,我换成清华源装不了)

禁用nouveau (自带的显卡驱动)

创建文件 sudo vim /etc/modprobe.d/blacklist-nouveau.conf
添加如下内容:
blacklist nouveau
options nouveau modeset=0
再更新一下
sudo update-initramfs -u

Linux 终端快捷键

CTRL+ALT+T 打开终端
Ctrl+a 光标移动到开始位置
Ctrl+e 光标移动到最末尾
Ctrl+k 删除此处至末尾的所有内容
Ctrl+u 删除此处至开始的所有内容
Ctrl+d 删除当前字符
Ctrl+h 删除当前字符前一个字符
Ctrl+w 删除此处到左边的单词
Ctrl+y 粘贴由Ctrl+u, Ctrl+d, Ctrl+w删除的单词
Ctrl+l 相当于clear,即清屏
Ctrl+r 查找历史命令
Ctrl+b 向回移动光标
Ctrl+f 向前移动光标
Ctrl+t 将光标位置的字符和前一个字符进行位置交换
Ctrl+& 恢复 ctrl+h 或者 ctrl+d 或者 ctrl+w 删除的内容
Ctrl+S 暂停屏幕输出
Ctrl+Q 继续屏幕输出
Ctrl+Left-Arrow 光标移动到上一个单词的词首
Ctrl+Right-Arrow 光标移动到下一个单词的词尾
Ctrl+p 向上显示缓存命令
Ctrl+n 向下显示缓存命令
Ctrl+d 关闭终端
Ctrl+xx 在EOL和当前光标位置移动
Ctrl+x@ 显示可能hostname补全
Ctrl+c 终止进程/命令
Shift+上或下 终端上下滚动
Shift+PgUp/PgDn 终端上下翻页滚动
Ctrl+Shift+n 新终端
alt+F2 输入gnome-terminal打开终端
Shift+Ctrl+T 打开新的标签页
Shift+Ctrl+W 关闭标签页
Shift+Ctrl+C 复制
Shift+Ctrl+V 粘贴
Alt+数字 切换至对应的标签页
Shift+Ctrl+N 打开新的终端窗口
Shift+Ctrl+Q 管壁终端窗口
Shift+Ctrl+PgUp/PgDn 左移右移标签页
Ctrl+PgUp/PgDn 切换标签页
F1 打开帮助指南
F10 激活菜单栏
F11 全屏切换

Alt+F 打开 “文件” 菜单(file)
Alt+E 打开 “编辑” 菜单(edit)
Alt+V 打开 “查看” 菜单(view)
Alt+S 打开 “搜索” 菜单(search)
Alt+T 打开 “终端” 菜单(terminal)
Alt+H 打开 “帮助” 菜单(help)

linux 下载命令axel

最常用的下载命令是wget,但是经常速度会比较慢。而axel尝试通过对一个文件使用多个连接来改进下载过程 ,实测比wget快很多

# 安装axel
sudo apt install axel

使用方式:

axel 下载链接

设置下载连接数–num-connections=x,设置最大连接数为x,设置大一些可以增加下载速度

Markdown基本使用

标题
# 一级标题(最大的标题)
## 二级标题

###### 六级标题(markdown支持的最低标题)

列表
列表分有序和无序列表。有序列表是前面有序号的,用数字和. 表示(注意符号和文字间要有空格)
1. 第一项
2. 第二项

无序列表是子项前面显示的为黑点而不是数字。用*(星号)+(加号)或者-(减号)表示
– 第一项
– 第二项

嵌套列表。子项要以一个制表符或者4个空格缩进
* 大类
1. A
– b

图片
![替代文字](图片url)

链接
[文字或图片](url) 如:
[我的主页](www.shijinglei.com)
制作图片链接把方括号内换成上面图片的形式即可。

字体
**加粗文本**
*斜体文本*

代码高亮
在行内标记小段代码
·code snippet ·

代码块
···代码语言(bash、java等)
代码
···
注意·为esc键下方的按键

水平分割线
***