Docker使用
0、容器和镜像
Docker常用命令整理
docker --version 查看docker 版本
docker info 查看docker 的信息
docker pull 从docker hub拉取镜像
docker images 查看本地所有的镜像
docker run 运行一个新的镜像
docker run -it 启动一个新镜像,并进入容器
docker run -itd 启动一个新镜像,并进入容器,放入后台运行
docker run -itd -p 绑定端口
docker run -itd -v 指定volume
docker ps 查看所有运行中的容器
docker ps -a 查看所有运行中和运行过容器
docker rmi 删除某个镜像
docker rm -f $(docker ps -aq) 删除所有的容器
docker stop 停止一个容器
docker start 运行一个容器
docker exec -it 进去容器内部开启一个交互
docker cp docker 和host 机器传送文件
docker bulid 从dockerfile 构建镜像
docker tag 给镜像打标签(重命名)
docker push 把本地镜像推到docker hub
docker inspect 查询镜像的详细信息 (管道给grep 或者 findstr 显示需要的信息)
docker logs 查看容器的日志
1,Linux 安装
卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
设置存储库
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装decker
yum install docker-ce docker-ce-cli containerd.io
启动
systemctl start docker
开机自启
systemctl enable docker
测试
docker run hello-world
docker run 执行流程
- 首先在指定镜像上创建一个可写的容器层
- 然后使用指定的命令(COMMAND)启动它
- docker run 相当于执行了两个 API:/containers/create、/containers/(id)/start
option | 作用 |
---|---|
-i | 以交互模式运行容器,通常与 -t 同时使用 |
-t | 启动容器后,为容器分配一个命令行,通常与 -i 同时使用 |
-v | 目录映射,容器目录挂载到宿主机目录,格式: <host目录>:<容器目录> |
-d | 守护进程,后台运行该容器 |
-p | 指定端口映射,格式:主机(宿主)端口:容器端口 |
-P | 随机端口映射,容器内部端口随机映射到主机的端口 |
-u | 以什么用户身份创建容器 |
–name “nginx-lb” | 容器名字 |
-m, –memory bytes | 设置容器使用内存最大值 |
-h, –hostname string | 指定容器的 host name |
–dns 8.8.8.8 | 指定容器 dns 服务器 |
-e username=”ritchie” | 设置环境变量 |
–restart | Docker 重启后,容器是否自动重启 |
–privileged | 容器内是否使用真正的 root 权限 |
-p 的三种写法
# 运行容器镜像
docker run -p ip:主机端口:容器端口
docker run -p 主机端口:容器端口 (常用)
docker run -p 容器端口
# 查看镜像
https://hub.docker.com/
# 查找镜像
docker search rabbitmq
NAME: 镜像仓库源的名称
DESCRIPTION: 镜像的描述
OFFICIAL: 是否 docker 官方发布
stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。
AUTOMATED: 自动构建。
# 拉取镜像
docker pull ubuntu:13.10
# 查看运行容器
docker ps
# 查看所有容器
docker ps -a
# 停止容器
docker stop 容器ID
# 重启
docker restart 容器ID
# 查看已安装容器
docker images
# 启动容器并进入
docker run -it ubuntu /bin/bash
# 进入容器 从这个容器退出,容器不会停止
docker exec -it 容器ID /bin/bash
# 退出容器
/# exit
# 删除容器
docker rm id
# 删除镜像 -- 删除镜像前需要先删除占用的容器
docker rmi hello-world/id
# 查看容器日志
docker logs container-name/container-id
# 编译镜像
docker build -t 镜像名 Dockerfile文件路径
#文件传输
docker cp 容器id:容器中文件地址 宿主机路径
https://www.jianshu.com/p/dd59ce73f46e
docker search mysql
docker pull mysql
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name mysql -d mysql
-p用来做端口映射 -e 用来做参数配置 --name为容器其一个别名 -d让应用在后台运行
把redis.conf 复制到服务器 /etc/redis/redis.conf 创建/etc/redis/data
docker run -p 6379:6379 --name redis -v /etc/redis/redis.conf:/etc/redis/redis.conf -v /e/redis/data:/data --restart=always -d redis redis-server /etc/redis/redis.conf
2,windows安装
1、开启虚拟化
如图既开启成功
2、开启如下功能
3、配置docker镜像源
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
],
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false
}
4、配置镜像下载地址
https://www.cnblogs.com/luzhuangzhi/p/17869210.html
docker run -p 10095:10095 -it --privileged=true -v D:/docker/data/funasr:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.9
报错
解决:
wsl -l -v
wsl --set-default-version 2
wsl --set-version Ubuntu 2
3、FunAsr使用
1、拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.9
2、运行镜像
下载FunAsr的包 https://funasr.com/#/ 《 funasr_samples.tar.gz》
下载的文件放在本地挂载的目录 D:/docker/data/funasr 下,
执行一下docker命令运行
docker run -p 10095:10095 -it --privileged=true -v D:/docker/data/funasr:/workspace/models registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.9
-v D:/docker/data/funasr:/workspace/models
-- 本地文件目录 -- 挂载到镜像中的目录
-p <主机端口>:<容器端口>
-it 进入容器
--privileged=true 赋予容器权限,允许它执行特权操作,如访问宿主机的硬件设备等
执行以上命令进入容器后执行
#创建文件夹
mkdir /workspace/models/funasr_samples
#解压下载的文件
tar -xzf funasr_samples.tar.gz -C /workspace/models/funasr_samples
#返回根目录执行
cd FunASR/runtime
#运行
nohup bash run_server_2pass.sh \
--certfile 0 \
--download-model-dir /workspace/models \
--vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx \
--model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx \
--online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx \
--punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx \
--itn-dir thuduj12/fst_itn_zh > log.txt 2>&1 &
# 如果您想关闭ssl,增加参数:--certfile 0
# 如果您想使用时间戳或者nn热词模型进行部署,请设置--model-dir为对应模型:
# damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx(时间戳)
# damo/speech_paraformer-large-contextual_asr_nat-zh-cn-16k-common-vocab8404-onnx(nn热词)
# 如果您想在服务端加载热词,请在宿主机文件./funasr-runtime-resources/models/hotwords.txt配置热词(docker映射地址为/workspace/models/hotwords.txt):
# 每行一个热词,格式(热词 权重):阿里巴巴 20(注:热词理论上无限制,但为了兼顾性能和效果,建议热词长度不超过10,个数不超过1k,权重1~100)
3、监控服务端日志
tail -f /workspace/FunASR/runtime/log.txt
4、打开Html页面测试
前面镜像启动时,我们将容器的目录 /workspace/models 挂载到了宿主机的 D:\docker\data\funasr\下面,因此下载到 /workspace/models/funasr_samples 目录里面的内容,可以在 D:\docker\data\funasr\ 上面看到
5、html 连接ASR服务端
修改asr服务器地址为 ws://127.0.0.1:10095/
10095是启动容器时指定的端口
6、关闭service服务
ps -x | grep funasr-wss-server
kill -9 PID
3,DockerFile
日夜颠倒头发少 ,单纯好骗恋爱脑 ,会背九九乘法表 ,下雨只会往家跑 ,搭讪只会说你好 ---- 2050781802@qq.com