在使用docker进行容器化部署的时候, 需要安装docker
接下来给大家说说,下载完镜像之后,我们要进行系统的部署,这个过程中可能需要用到的部署指令和验证部署容器状态的一些命令
首先查看所有的镜像
docker images
会显示所有你要拉取的镜像
这个时候,如果你有不需要的镜像,可以使用此命令来进行删除
docker rmi 镜像ID
查看所有的容器信息
docker ps -a
会显示所有的容器信息
如果你要删除容器,可能会出现容器正在运行的错误,所以需要你停止容器的运行,然后再进行删除 ,停止运行的命令
docker stop 容器ID
删除命令
# 强制删除
docker rm -f 容器ID
这些都是已经运行起来的容器信息,在大多数情况下,项目部署的时候,需要将数据库的数据拷贝过去,我这里是使用的pg数据库,数据库的文件是公司的DBA提供,当然你也可以自己提取出来,我们做到责任分离嘛
****.role
****.dmp
文件有两个,后缀名如上所示 ,恢复数据的指令如下:
# 数据备份
docker cp /data/docker-compose/****.role pg:/****.role
docker exec -it pg psql -U postgres -d bomdb -f /****.role
docker cp /data/docker-compose/****.dmp pg:/****.dmp
docker exec -it pg pg_restore -U postgres -Fc -cv -d bomdb /****.dmp
注意,在备份之前先确定是否存在bomdb这个库,没有则需要创建
可以使用以下命令在PG容器中创建:
docker exec -it <容器名称或ID> createdb -U <用户名> <数据库名>
怎么来查看数据已经恢复
# 进入pg容器
docker compose exec -it pg bash
# 使用postgres用户名登录
psql -U postgres
# 切换到指定数据库
\c bomdb
# 列出表空间下的所有表
\dt core.*
# 退出
exit
数据库的数据能够恢复,那么你的部署基本上就没有问题了
如果你再部署的时候,修改了配置文件里面的信息,记得使用下面的命令来重启服务
docker restart 容器名
上面的容器名是配置在docker-compose.yml里面的容器名
如果你还部署了redis,那你知道怎么验证redis部署成功了吗?假设你的redis容器名就是redis,那么使用以下命令
# 在服务器上通过以下命令进入redis命令行界面
docker exec –it redis redis-cli
set testkey 1
get testkey
如果能够得到数据,代表正常运行,也可以使用redis连接工具来进行连接
我是使用的docker-compose来进行运行的,所以后面的操作我会用docker compose来进行操作
部署完毕后,可能会有镜像有问题,需要你查看某个app的日志
docker-compose logs 容器名 -f
还可以加上 --tial 后面加上 100 代表显示多少条日志
docker-compose logs 容器名 -f --tail 100
代表显示100条最近的日志,并且持续打印该服务的日志
好了,就介绍到这了,后面有时间再给大家加上更详细一点的
----------------------------------------------------------------------------------
给大家补上一些常用的docker命令
#从远程库拉取镜像
docker pull 镜像名字[:TAG]
#通过Dcokerfile构建镜像
docker build -t 新镜像名字:TAG . # 注意 TAG后面有个空格,有个点
#启动已停止运行的容器
docker start 容器ID或者容器名
#强制停止容器
docker kill 容器ID或容器名
#查看容器内运行的进程
docker top 容器ID
#导入和导出容器
#export 导出容器的内容留作为一个tar归档文件[对应import命令]
#import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]
docker export 容器ID > 文件名.tar
#查看网络
docker network ls