启动docker(启动docker服务)

启动docker(启动docker服务)安装 Docker 安装 Docker Compose 一个完整项目的运行需要安装这个 这篇文档笔记主要记录自己开始学习部署 Docker 过程 文章后面有开源项目部署 基于 Docker 和 Docker Compose 活到老 学到老 保持一种空杯心态 用心学知识 学技能 我是一名前端程序员 喜欢折腾新东西 新事物 有兴趣的可以关注我的个人网站 猿视野 文章后面会手把手的教你用 Docker 部署 SpringBoot Vue MySQL Nginx 开源项目 利用 Docker 部署项目



安装Docker
安装Docker Compose (一个完整项目的运行需要安装这个)

这篇文档笔记主要记录自己开始学习部署Docker过程。文章后面有开源项目部署,基于Docker和Docker Compose。活到老,学到老,保持一种空杯心态,用心学知识,学技能。我是一名前端程序员,喜欢折腾新东西,新事物,有兴趣的可以关注我的个人网站( 猿视野)。

文章后面会手把手的教你用Docker部署SpringBoot+Vue+MySQL+Nginx开源项目。利用Docker部署项目,主要是为了节约我们有限的时间。开源项目源码:https://github.com/cloudfavorites/favorites-web 待会等我们安装好了docker环境,就带大家一起来部署这个开源项目。

  • 一台CentOS7的服务器。我这里用的是阿里云的服务器,选的是CentOS7版本系统
  • 使用xshell6类似的远程连接工具连接到服务器。参考文章:使用xshell6远程连接Linux服务器
  • 如何需要域名访问Docker部署的项目,需要先拥有一个域名哦。我这里演示用的域名是在阿里云申请的。详见阿里云域名注册。

建议在linux环境下安装Docker,window环境搭建比较复杂且容易出错,使用Centos7+yum来安装Docker环境很方便。

Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。因此想要安装 docker,只需要运行下面的 yum 命令:

 

安装完成后,使用下面的命令来启动 docker 服务,并将其设置为开机启动:

 

测试

 

输入上述命令,返回docker的版本相关信息,证明docker安装成功。

通过vim修改docker为国内镜像地址: https://registry.docker-cn.com

因为国内连接 Docker 的官方仓库很慢,因此我们在日常使用中会使用Docker 中国加速器。通过 Docker 官方镜像加速,中国区用户能够快速访问最流行的 Docker 镜像。该镜像托管于中国大陆,本地用户现在将会享受到更快的下载速度和更强的稳定性,从而能够更敏捷地开发和交付 Docker 化应用。

Docker 中国官方镜像加速可通过registry.docker-cn.com访问。该镜像库只包含流行的公有镜像,私有镜像仍需要从美国镜像库中拉取。

修改系统中docker对应的配置文件即可,如下:

 

 

输出这段提示以后,hello world就会停止运行,容器自动终止。有些容器不会自动终止,因为提供的是服务,比如Mysql镜像等。

通过 Docker-Compose 用户可以很容易地用一个配置文件定义一个多容器的应用,然后使用一条指令安装这个应用的所有依赖,完成构建。Docker-Compose 解决了容器与容器之间如何管理编排的问题。Dockerfile 可以让用户管理一个单独的应用容器;而 Compose 则允许用户在一个模板(YAML 格式)中定义一组相关联的应用容器(被称为一个 project,即项目),例如一个 Web 服务容器再加上后端的数据库服务容器等。

Docker Compose 是 Docker 的独立产品,因此需要安装 Docker 之后在单独安装 Docker Compose .

 

除过以上我们使用的Docker命令外,Docker还有一些其它常用的命令

拉取docker镜像

 

查看宿主机上的镜像,Docker镜像保存在/var/lib/docker目录下:

 

删除镜像

 

查看当前有哪些容器正在运行

 

查看所有容器

 

启动、停止、重启容器命令:

 

后台启动一个容器后,如果想进入到这个容器,可以使用attach命令:

 

删除容器的命令:

 

删除所有停止的容器:

 

查看当前系统Docker信息

 

从Docker hub上下载某个镜像:

 

查找Docker Hub上的nginx镜像

 

执行docker pull centos会将Centos这个仓库下面的所有镜像下载到本地repository。

部署SpringBoot项目---云收藏

地址: https://github.com/cloudfavorites/favorites-web

-bash: unzip: 未找到命令
说明未安装过, 只需执行如下命令即可. 同样适用 Unix 内核系统.

 

下拉项目:

 

解压

 

进入目录

 
 

修改内容如下

 

地址为部署服务器的地址

部署命令:

 
 

修改项目配置文件:

 

项目启动成功:

访问ip: http://47.100.188.105/ 查看项目首页

mysql数据备份(shell脚本定时备份mysql数据)

标准格式:

 
 

案例:

 

上面的备份命令会提示警告:mysqldump: [Warning] Using a password on the command line interface can be insecure.

下面的备份命令不会出现警告。

 

脚本定时备份:

 

我这里采用宝塔面板的定时任务,定时执行shell脚本任务:

查看FinalShell文件备份目录:

mysql数据恢复:

 
如果修改了mysql my.cnf配置文件的内容,Docker需要重新构建:docker-compose up --build 否则配置文件无法生效。
 

本人在备份数据库以后,恢复备份的sql数据到Docker mysql容器时候,报了一个错误:
ERROR 1153 (08S01) at line 50: Got a packet bigger than 'max_allowed_packet'

其间,我试过很多方法,都没有改成功。后面经过不断反复尝试,终于改成功了。需要重新构建Docker项目,才能让mysql配置文件修改生效。而不是简单的重启docker容器。

配置修改成功。

然后就是mysql备份数据恢复正常。终于解决了这个小问题了。

注:其中

    CONTAINER:容器别名或者容器id:c7f1b671c57f
    DATABASE:需要操作的数据库名称:favorites
    username:数据库登录的用户名:*
    xxx:数据库登录的密码:

 执行之后 会有 提示 风险;
 导入导出成功后 dos 会 进入正常输入状态

  • docker如何查看一个镜像内部的目录结构及其内部都有哪些文件
安装这个主要是为了在线管理mysql数据库

步骤:

 

命令说明:

-e PMA_HOST=192.168.206.132 数据库的IP地址
-e PMA_PORT=3307 数据库的端口
-p 8283:80 将容器80端口映射到主机的8283端口
--name myadmin 将容器命名为myadmin

浏览器访问:http://公网ip:888/ 在线访问phpmyadmin

--initialize specified but the data directory has files in it. Aborting.

某段时间重启docker之后,无法启动项目的mysql容器,mysql容器一直处于重启状态,mysql容器启动不了,项目当然也无法正常访问了。继续马上解决。查看日志命令,发现报上面这个错误。

 

其中:mysql_data目录为linux硬盘挂载目录。映射到了docker容器目录 /var/lib/mysql
把mysql_data目录下的文件删除就可以,如果数据重要,请先备份,再删除。

解决方法:找到docker mysql datadir挂载目录的具体位置,把这个目录里面的文件先备份一下,然后删除,重新用docker-compose up -d build命令打包启动项目,就能正确的启动mysql容器了。关键的原因是:datadir硬盘挂载的目录里面存在文件,并且遭到了损坏,导致docker mysql容器无法重启。
参考资料:使用Docker快速搭建Mysql,并进行数据卷分离

docker logs 容器id
查看容器启动,运行日志
 
启动docker-compose和停止docker-compose
 

关注原文更精彩 https://www.yundashi168.com/244.html

编程小号
上一篇 2025-03-25 14:46
下一篇 2025-02-28 22:30

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/43039.html