Docker部署

网友投稿 779 2022-11-17

docker部署

Docker部署

打包要求:

文件夹权限需要做下限制

.bat 程序需要删除掉

package.json 需要去掉 --daemon

tar -zcvf 压缩文件名.tar.gz   压缩文件名

docker 帮助命令:

详情:docker info     docker --help

重启:service docker restart

镜像命令:

镜像运行模板列表: docker images

列出所有镜像:     docker images -a

列出运行镜像的ID  docker images -q

列出镜像说明  docker images --digests

列出镜像id详情 docker images --no-trunc

查询 docker search  '某一个镜像的名字'

拉取 docker push '某一个镜像的名字'

删除单个 docker rmi '某一个镜像的名字'

强制删除单个 docker rmi -f  '某一个镜像的名字'

删除多个 docker rmi -f  'xxx'  'xxx'

删除全部 docker rmi -f ${ docker images -qa}

容器:

-centos镜像模板  docker pull centos

新建并启动容器.  docker run -it --name '容器名称'  '镜像名称'

-p  容器端口:程序端口

-P  随机分配端口

列出当前运行的容器   docker ps

退出容器   exit (容器停止运行) 或者  ctrl+P+Q (容器不停止退出)

启动容器   docker start 容器id或者容器名字

重启容器   docker restart 容器id或者容器名称

停止容器   docker stop  xxx

强制重启容器  docker kill  xxx

删除已停止的容器  docker rm 容器id

一次性删除多个容器   docker rm -f ${docker ps -a -q}    或者 docker ps -a -q | xargs docker rm

重要:

启动后台守护式容器 docker run -d '容器名称'

查看容器日志  docker logs -f -t --tail=100  '容器id'

查看容器内运行的进程  docker top '容器id'

查看容器内部细节 docker inspect 容器id

进入正在运行的容器并以命令行运行

1. 进入容器,不启动新进程  docker attach 容器id

2.不进入容器  docker exec -t 容器ID  ls -l   '文件名'

从容器内拷贝文件到主机上 docker cp 容器id:容器内路径(/tmp/xx.log)  目标主机路径

将docker容器内的文件拷贝至宿主机中

docker cp mysql:/etc/mysql/my-f . #注意.代表是当前目录

复制修改后的配置文件到docker容器中去

docker cp my-f 容器id:/etc/mysql/my-f

重启容器实例,并重新查看日志

docker restart 容器id docker logs -f --tail 10 容器id

重启容器实例,并重新查看日志

Docker 镜像

commit 操作补充

1.docker commit 提交容器副本使之成为一个新的镜像

Docker  容器数据卷。

容器的持久化

Docker 本地镜像发布到阿里云

$ sudo docker login --username=registry--hangzhou.aliyuncs.com

$ sudo docker tag [ImageId] registry--hangzhou.aliyuncs.com/zzyybuy/mycentos:[镜像版本]

$ sudo docker push registry--hangzhou.aliyuncs.com/zzyybuy/mycentos:[镜像版本号]

1.Linux 系统下使用自动化脚本安装docker:

验证是否成功:

docker version

启动并加入开机启动

systemctl start docker

systemctl enable docker

下面就可以开始使用了

docker load < skylandweb1.0.tar

docker run -dt --name skylandweb --restart always -p 17001:80 skylandweb:1.0

-v /home/uos/:/usr/local/app

cd /usr/local/mkdir appcd app/

sudo docker cp /home/uos/RSServer.tar skylandweb:/usr/local/app

tar xvf RSServer.tar

yarn start

初始化容器:

docker run -itd -p 10003:80 -p 6006:6379 -v /ychyc:/ychyc -v /data/redis:/usr/local/redis6379 --name skylandweb --restart=always skylandweb:4.0 /bin/bash

启动exe文件,生产环境下使用pm2进程管理工具启动,运行npm install pm2 -g 全局安装pm2,然后运行npm run start

后台运行: nohup ./server.out > server.log 2>&1 &yarn global add pm2

./start.sh

导出 docker 镜像  docker save [image:v1] | gzip > 123.tar.gz

# 导出镜像 docker save myubuntu:latest > myubuntu.tar

# 导入镜像 docker load < myubuntu.tar

# 修改容器名称 docker tag xxx

# 导出镜像 docker export 15adabd78f9b > ubuntu-15adabd78f9b.tar

# 导入镜像 docker import ubuntu-15adabd78f9b.tar

export 不会保留镜像的层级信息,所以大小会比 save 小

docker 日志

docker logs --since 30m CONTAINET_ID

查看端口是否占用

netstat -ntlp | grep 10012

docker ps | grep 10012

- 程序后台运行

命令      nohup ./CloudscapeRS.DatabaseProcessor &

tmux

查看后台运行程序 : ps -ef | grep rm

杀死进程: kill  -9  进程号

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:支付宝移动端 Hybrid 解决方案探索与实践
下一篇:统计ANSI格式下文件中中文个数(不包括中文运算符)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~