zl程序教程

您现在的位置是:首页 >  工具

当前栏目

docker/数据库和服务器/sudo

2023-09-11 14:14:27 时间

一定要记住数据库是数据库的用户名和密码,服务器是服务器的用户名和密码,这两个是不同的
inux sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。
使用权限:在 /etc/sudoers 中有出现的使用者。

1
docker ps -a
2
docker stop 113e86cb9962
3
docker rm 860eed47ed45
4
docker pull tensorflow/serving:1.14.0
5 只是部署restful api接口
docker run --name tfserving-bert
–hostname tfserving-bert
-tid
–restart=on-failure:10
-v /etc/timezone:/etc/timezone
-v /etc/localtime:/etc/localtime
-p 8501:8501
-p 8502:8502
–mount type=bind,source=/home/mart/versions,target=/models/versions
-e MODEL_NAME=versions
-t tensorflow/serving &
6查看模型部署日志
docker container logs a321f69edda8
7查看模型部署日志
sudo docker logs -f -t --tail 10 tfserving-bert
8查看接口信息
curl http://10.20.200.88:8501/v1/models/versions/metadata
{
“model_spec”:{
“name”: “versions”,
“signature_name”: “”,
“version”: “56248”
}
,
“metadata”: {“signature_def”: {
“signature_def”: {
“result”: {
“inputs”: {
“input_ids”: {
“dtype”: “DT_INT32”,
“tensor_shape”: {
“dim”: [
{
“size”: “-1”,
“name”: “”
},
{
“size”: “440”,
“name”: “”
}
],
“unknown_rank”: false
},
“name”: “input_ids:0”
},
“input_mask”: {
“dtype”: “DT_INT32”,
“tensor_shape”: {
“dim”: [
{
“size”: “-1”,
“name”: “”
},
{
“size”: “440”,
“name”: “”
}
],
“unknown_rank”: false
},
“name”: “input_mask:0”
}
},
“outputs”: {
“score”: {
“dtype”: “DT_FLOAT”,
“tensor_shape”: {
“dim”: [
{
“size”: “-1”,
“name”: “”
},
{
“size”: “3”,
“name”: “”
}
],
“unknown_rank”: false
},
“name”: “pred_prob:0”
},
“pred_label”: {
“dtype”: “DT_INT64”,
“tensor_shape”: {
“dim”: [
{
“size”: “-1”,
“name”: “”
}
],
“unknown_rank”: false
},
“name”: “ArgMax:0”
}
},
“method_name”: “tensorflow/serving/predict”
}
}
}
}
}
9 部署restful api和grpc接口,服务器端空注意restful api接口对应8501,grpc对应8500,tf_serving部署服务器是支持者两种接口调用的
8500和8501都是服务器特有的固定端口,本地端口可以随意定义。
“”"
docker run --name tfserving-bert
–hostname tfserving-bert
-tid
–restart=on-failure:10
-v /etc/timezone:/etc/timezone
-v /etc/localtime:/etc/localtime
-p 8500:8500
-p 8501:8501
–mount type=bind,source=/home/mart/versions,target=/models/versions
-e MODEL_NAME=versions
-t tensorflow/serving &
“”"

服务器账号
ssh root@10.20.200.88
mart
Liujibin

第一种方式:
SecureCRT下
上传文件只需在shell终端仿真器中输入命令“rz”,即可从弹出的对话框中选择本地磁盘上的文件,利用Zmodem上传到服务器当前路径下。
下载文件只需在shell终端仿真器中输入命令“sz 文件名”,即可利用Zmodem将文件下载到本地某目录下。
通过“File Transfer”可以修改下载到本地的默认路径。设置默认目录:options–>session options–>file transfer。

解压命令:unzip versions.zip (myname=你要解压的文件名)
压缩命令:zip -r output.zip ./* (myname=你要解压的文件名 ./* 压缩当前目录所有文件)

docker pull tensorflow/serving:1.14.0

docker pull tensorflow/serving

windows10部署系统
docker run -p 8501:8501 -p 8500:8500 --mount type=bind,source=E:/AI_train/mart21_model_deploy/bert-tfserving/output/versions,target=/models/versions -e MODEL_NAME=versions -t tensorflow/serving:1.14.0

docker run --name tfserving-bert
–hostname tfserving-bert
-tid
–restart=on-failure:10
-v /etc/timezone:/etc/timezone
-v /etc/localtime:/etc/localtime
-p 8501:8501
-p 8502:8502
–mount type=bind,source=/home/mart/versions,target=/models/versions
-e MODEL_NAME=versions
-t tensorflow/serving &

sudo usermod -a -G docker

1、docker version
docker version可以查看当前docker版本号
2、docker run hello-world
输入命名“docker run hello-world”可以加载测试镜像来测试

1
docker --version
2
docker ps
3
docker version
4
docker info
5
docker run hello-world
6
docker run -it ubuntu bash

CMD没法执行的时候就用power shell即可
Doker 常用命令

#查看镜像列表
docker images
#删除单个镜像
docker rmi 7044c91ca1a1
#删除所有镜像
docker rmi $(docker images -q)
#查看运行中的容器
docker ps
#查看所有容器
docker ps -a
#停止单个容器
docker stop 860eed47ed45 #ID每次都可能不一样docker stop 06effb9e78c0
#停止所有容器
docker stop $(docker ps -a -q)
#删除单个容器
docker rm d257930098e2
#删除所有容器
docker rm $(docker ps -a -q)

free 查看服务器的剩余空间,得出来的单位是byte
[mart@yog ~]$ free
total used free shared buff/cache available
Mem: 15831476 11725696 3816344 4856 289436 3785456
Swap: 33550332 11182716 22367616

top 指令可以查看所有设备的运行情况

docker container logs [OPTIONS] CONTAINER
docker container logs 4aa94a0e2b14

实时查看docker容器日志
$ sudo docker logs -f -t --tail 行数 容器名
例:实时查看docker容器名为s12的最后10行日志
$ sudo docker logs -f -t --tail 10 s12
sudo docker logs -f -t --tail 10 tfserving-bert
如果XSHELL卡主了,直接ctrl+q退出即可。

一、
rm -rf output 删除指定文件夹
rm versions.zip 删除指定文件
二、
rm filename或rm -f filename直接删除文件
三、返回上一层目录
pwd 》 cd /home 》 ls
直接cd就到主目录了
四、
查看进程 ps ax | grep python
关闭进程 kill -s 9 33399
五、查看使用中的进程和内存空闲
top / free -m
六、重命名
例子:将目录A重命名为B
mv A B
例子:将/a目录移动到/b下,并重命名为c
mv /a /b/c
七、新建文件
mkdir phots 在当前目录中建立名为photos的目录
mkdir -p this/that/theother 在当前目录下建立指定的嵌套子目录
八、服务器是区分python2和python3的,默认python是python2是,所以一定要加上数字做好区分
python3 run.py

docker
sudo groupadd docker #添加docker用户组
sudo gpasswd -a $mart docker #检测当前用户是否已经在docker用户组中,其中XXX为用户名,例如我的,liangll
sudo gpasswd -a $USER docker #将当前用户添加至docker用户组
newgrp docker #更新docker用户组

sudo是superuser do的简写,sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登陆 和管理时间,同样也提高了安全性。
apt是个很完整和先进的软件包管理程式,使用他能够让您,又简单,又准确的找到您要的的软件包, 并且安装或卸载都很简洁。 他还能够让您的任何软件都更新到最新状态,而且也能够用来对ubuntu进行升级。
“apt是需要用命令来操作的软件,但是现在也出现了很多有图像的软件,比如Synaptic, Kynaptic 和 Adept。”

####################################################################
有时候,使用linux的shell的时候需要查看当前位置的全路径,可以使用
pwd命令,如下图
查看当前路径命令:pwd
pwd命令能够显示当前所处的路径。
这个命令比较简单,如果有时在操作过程中忘记了当前的路径,则可以通过此命令来查看路径,其执行方式为:

pwd

/home/samlee
http://10.20.200.88:8501/v1/models/versions:predict

1指令;查看Docker版本信息,确认是否成功安装Docker。
docker --version

2:创建镜像:执行命令:ml_work_img 为创建的镜像名称,. 表示当前目录(ml_work)
一个docker就是一个代码执行的独有环境而已!容器是镜像的实例化!所以创建容器的时候,就在Dockfile把所需的镜像,环境包,执行的脚本都一次性提前定义好。

docker build -t ml_work_img .

3 查看镜像是否创建成功:执行命令:
docker images

4 启动该容器查看Python能否正常运行,执行如下命令:
docker run -it -p 5000:5000 ml_work_img
docker run -it ml_work_img

5 查看所对应的容器
docker images ps -a

6 进入容器,安装缺少的python包
docker exec -it c1f2c824da7f /bin/bash

7 :运行镜像,生成并启动容器
执行命令:docker run -it -p 5000:5000 --name ml_work ml_work_img
-it:表示交互式终端的容器,非启动后立刻结束的容器
-p 9060:9060:表示将docker的5000端口,映射到Linux虚拟机的5000端口 也就是说,访问Linux虚拟机的5000端口,就是在访问docker容器的5000端口
–name ml_work:给容器取个名字,嫌麻烦可以省去
ml_work_img:容器是用哪个镜像启动的(一个容器,必须依赖一个镜像启动)

8:退出容器
ctrl+d 退出容器且关闭, docker ps 查看无
ctrl+p+q 退出容器但不关闭

9、查看后台启动的python程序:以及程序使用的内存情况
ps aux |grep python
9_1、可以只这样启动api :nohup python api.py >> /home/kuake/ml_work/logs/output.log 2>&1 &
10、关掉api: kill -9 223323

11、直接linux上测试端口
curl -X POST -H ‘content-type: application/json’ -d ‘{“sentence”:“今天上班路过体育南大街的时候发现路灯坏了很长时间了, 政府应该早点派人修一下”}’ http://127.0.0.1:5000/nlp/v1/report

12 、Dockerfile 编写
FROM python:3.8
RUN pip config set global.index-url https://mirror.baidu.com/pypi/simple
COPY . /ml_work
WORKDIR /ml_work
RUN pip install -r requirements.txt
RUN apt-get update ##[edited]
RUN apt-get install ffmpeg libsm6 libxext6 -y
ENTRYPOINT [“python”]
CMD [“api.py”]

13、保存,加载镜像命令:通过image保存的镜像会保存操作历史,可以回滚到历史版本。
docker save imageID > filename
docker load < filename

14、保存,加载容器命令:通过容器保存的镜像不会保存操作历史,所以文件小一点。
如果要运行通过容器加载的镜像, 需要在运行的时候加上相关命令。
docker export containID > filename
docker import filename [newname]
15、比如我通过容器加载了一个ubuntu系统的镜像,运行命令是这样的:
docker export containID > filename
docker import filename [newname]

16
根据这个myubuntu容器提交镜像
[root@docker-test1 ~]# docker commit -a “wangshibo” -m “this is test” 651a8541a47d myubuntu:v1
sha256:6ce4aedd12cda693d0bbb857cc443a56f9f569106e09ec61aa53563d0932ea4d
再次查看镜像,发现镜像myubuntu:v1已经提交到本地了
[root@docker-test1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
myubuntu v1 6ce4aedd12cd 59 seconds ago 84.1 MB
docker.io/ubuntu 16.04 7aa3602ab41e 5 weeks ago 115 MB