docker小技巧

发布于 2021-11-15  62 次阅读


Docker 架构

Docker 包括三个基本概念:

  • 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
  • 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
  • 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。

Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。

Docker 容器通过 Docker 镜像来创建。

容器与镜像的关系类似于面向对象编程中的对象与类。

Docker面向对象
容器对象
镜像
概念说明
Docker 镜像(Images)Docker 镜像是用于创建 Docker 容器的模板,比如 Ubuntu 系统。
Docker 容器(Container)容器是独立运行的一个或一组应用,是镜像运行时的实体。
Docker 客户端(Client)Docker 客户端通过命令行或者其他工具使用 Docker SDK (https://docs.docker.com/develop/sdk/) 与 Docker 的守护进程通信。
Docker 主机(Host)一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。
Docker RegistryDocker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签。
Docker MachineDocker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。

1.docker镜像加速,使用原生的太卡了,需要引入阿里或者其他的。相关推荐见:

https://www.runoob.com/docker/docker-mirror-acceleration.html 该文档包括了基础的docker教程

2.查看所有容器: docker ps -a

查看启动中的容器: docker ps

查找文件名 find / -name  tpl.txt

nohup java -jar ruoyi-admin.jar > ruoyi.log 2>&1 &    表示一直运行,日志输出到ruoyi.log文件当中

ps aux|grep ruoyi-admin.jar 查看所有启动中的java

Kill -9 杀死进程

重载nginx:   docker exec nginx nginx -s reload

从本地电脑上次至服务器:

scp D:\GitHub\RuoYi-Vue\ruoyi-ui\dist.zip root@120.79.209.33:/mydata/nginx/html/dist.zip

查询端口占用: netstat -tunlp|grep 80

查看docker 启动容器的ip等信息:docker inspect mysql_8

3.将容器设置为自启动

# docker update --restart=always 容器名或容器ID

docker update --restart=always <CONTAINER ID>

4.把服务器上的文件夹上传到docker容器中的地址

docker cp 本地文件路径 ID全称:容器路径

docker cp mydata/nginx/cert b91b4380bad4:/etc/nginx/

5.启动        systemctl start docker
守护进程重启   sudo systemctl daemon-reload
重启docker服务   systemctl restart  docker
重启docker服务  sudo service docker restart
关闭docker service docker stop
关闭docker systemctl stop docker