首页 > 其他分享 >服务器部署-docker-容器版本

服务器部署-docker-容器版本

时间:2024-06-05 18:23:54浏览次数:22  
标签:容器 mysql yum 服务器 镜像 docker root

后端部署

准备docker环境,拉取所需镜像

正式安装docker环境:
1)较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。
[root@localhost ~]# sudo yum remove docker \

docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine

2)安装docekr所需要的环境
[root@localhost ~]# sudo yum install -y yum-utils
device-mapper-persistent-data
lvm2

3)下载阿里云docker社区版yum源(docker-ce.repo这个是一个yum源文件)
[root@localhost ~]# sudo yum-config-manager
--add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
备注:
i)下载yum源文件所在的路径:/etc/yum.repos.d,进入查看有没有此文件
ii)查看docker可下载的版本
yum list docker-ce --showduplicates

4)安装docker(不加版本号,默认安装最新的版本)
sudo yum -y install docker-ce docker-ce-cli containerd.io
为了防止启动不了docker,需要再次更新一个环境xfsprogs(日志文件系统)
yum -y update xfsprogs

5)启动docker服务
systemctl start docker.service

6)查看版本
[root@localhost yum.repos.d]# docker version
7)设置docekr开机自动启动
[root@localhost test]# systemctl enable docker

docker镜像
https://www.cnblogs.com/flaming/p/11438244.html
什么是docker镜像?
类似于CentOS-7-x86_64-Minimal-1804.iso镜像文件
镜像到底是个什么东西呢,很多人在学习docker的时候都是一头雾水的,可是是歪果仁对镜像情有独钟吧,好
多东西都有镜像的概念。比如我们安装系统的.iso文件,其实就是镜像,这里你就可以把镜像认为是一种模板。我们可以
使用docker根据这个模板创建容器来运行,其实更可以理解为镜像是好比github上的仓库一样,我们可以克隆下来源代
码然后运行,运行起来的代码可以是一个网站、一个应用程序啥的,这就可以叫做容器。说白了,镜像就是一堆静态的模
板,运行起来的镜像就是容器。镜像一般需要我们拉取下来,是只读的
总结:镜像(静态的模板)-》运行起来-》就是容器(一个镜像可以创建很多个容器,容器之间互相隔离)
仓库:
https://hub.docker.com/
存放镜像文件的地方就是仓库
存放镜像的地方就是仓库,就好比存放代码的地方是github一样,我们就把github称为代码的仓库,github
算是最大的仓库。那么存放docker镜像的地方我们叫做dockerhub,是docker的中央仓库。其实已经有dockerhub这
个网站了(https://hub.docker.com/),这就是 存放docker镜像的官方仓库,好多官方的也保存在这里,保证了
镜像的安全性和可靠性,我们可以从上边拉取一下镜像来运行我们的软件。当然我们也可以制作好我们自己镜像推送上
去,不过这些肯定是要官方审核的,防止有些人写入一些恶意代码。不过我们可以推到我们自己的dockerhub上去,供我
们自己使用,这个就好我们的github账号一样了,属于私有镜像了。

镜像加速
https://www.runoob.com/docker/docker-mirror-acceleration.html
国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提
供了国内加速器服务
备注的是:加速器地址每个人都不一样,不要直接复制我的,将下面命令全选中执行即可
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://totb4wfp.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

拉取所需镜像

docker pull mysql:8.0.19
docker pull redis:6.0.8
docker pull nginx:1.18.0
docker images

docker自定义网络配置

自定义网络:
1)创建一个基于bridge网络模式的自定义网络
[root@docker ~]# docker pull centos:7 //拉取镜像
[root@docker ~]# docker network create My_networ

2)查看网络模式
[root@docker ~]# docker network ls
3)创建容器
[root@docker ~]# docker run -itd --name=containerName --net connect My_network imageId /bin/bash
4)已有容器
[root@docker ~]# docker connect My_network containerId/name

生成mysql容器-配置mysql数据库

`#生成mysql容器
[root@localhost mysql]# docker run -itd --name=mysql -v
/root/ruoyi/mysql/data:/var/lib/mysql -v /root/ruoyi/mysql/logs:/var/log/mysql -p
3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.19

进入此mysql容器中

[root@localhost mysql]# docker exec -it mysql /bin/bash
root@9aa98fd6e746:/# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.19 MySQL Community Server - GPL
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
//修改加密规则
mysql> ALTER USER 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
//更新一下用户的密码
mysql> ALTER USER root@'%' IDENTIFIED WITH mysql_native_password BY '123456';
mysql> FLUSH PRIVILEGES;
备注:MySQL8.0之前的版本中加密规则是mysql_native_password,而在MySQL8.0之后,加密规则是
caching_sha2_password,如果不改navicat连接报错:Authentication plugin
‘caching_sha2_password’ cannot be loaded
`
验证:navicat连接mysql数据库成功

导入数据

i)将sql文件上传到服务器中
ii)将此sql文件复制进容器中的/root目录下,参考《容器化技术中的文件的复制章节》
iii)进入数据库导入即可
root@9aa98fd6e746:/# mysql -uroot -p
mysql> create database ryvue charset utf8;
mysql> show databases;
iii)将两个sql文件导入到ryvue库中
root@9aa98fd6e746:/# mysql -uroot -p'123456'
mysql> use yourdb;
mysql> source /root/my.sql

生成redis容器

创建自定义镜像

前端部署

准备环境

生成nginx容器

标签:容器,mysql,yum,服务器,镜像,docker,root
From: https://www.cnblogs.com/EpiphanySpirit/p/18233490

相关文章

  • 给容器右上角打标,带图标
    假设容器的active类名为is-active,那么可以通过伪元素的方式来给容器打标。效果如下: 样式如下:.is-active{ position:relative;}.is-active::after{content:"";position:absolute;right:0;top:0;border-right:20pxsolid#0A53C8;border-top:20pxsolid#0A......
  • 容器启动playwright报错TargetClosedError
    运行环境docker:Dockerversion24.0.5,build24.0.5-0ubuntu1~22.04.1ubuntu:22.04playwrightimage:itisfoundation/osparc-playwright-e2e:2024-05mavenimage:maven:3.8.5-openjdk-17-slim报错信息Causedby:com.microsoft.playwright.impl.TargetClosedError:Er......
  • docker使用Open Policy Agent(OPA)进行访问控制
    目录一.系统环境二.前言三.OpenPolicyAgent简介四.Rego语言简介五.配置基本环境六.docker安装OPA插件6.1安装docker6.2docker安装OPA插件6.3启用OPA七.OPA规则7.1允许docker所有操作7.2禁止docker所有操作7.3禁止创建允许所有系统调用的docker容器7.4根据Authz-User判......
  • network xxx was found but has incorrect label com.docker.compose.network set to
    在执行docker-composedown之后,再执行docker-composeup-d提示已有同名称标签的虚拟网卡  解决1、执行dockernetworkls命令展示所有的虚拟network2、执行dockernetworkrm<networkId>删除已存在的network3、再重新运行docker-composeup-d启动容器  扩......
  • 接上篇,客户端实现,图形界面编程,利用socket和UCP/TCP编写,客户端和服务器端程序可以进行
     1.项目结构 1.1基本架构本项目采用基于Java的`Swing`库进行图形界面开发,并使用`Socket`进行网络通信。项目包名为`org.example.tcp`。 1.2模块划分项目主要分为以下几个模块:图形用户界面(GUI)模块网络通信模块线程处理模块 2.GUI设计 2.1主窗口设计 2.1.1......
  • Docker Compose
    目录一、DockerCompose概述1、DockerCompose是什么2、DockerCompose核心概念3、DockerCompose使用步骤4、Docker与DockerCompose文件版本对应关系二、DockerCompose安装与卸载1、二进制包安装1.1、下载DockerComposeV2版本1.2、添加可执行权限1.3、设置软链接1.4......
  • Docker安装使用教程
    Docker安装使用教程Docker是什么Docker是一个容器化开源平台,它使开发者可以再容器中封装应用程序,以及其依赖的所有组件,包括操作系统、库文件、环境变量等,并以轻量级、可移植的方式进行交付和部署.Docker的三大核心概念是:镜像(Image):镜像是Docker的基本构建块,它是一个只读的模板或......
  • Linux 部署 MinIO(远程服务器)
      1.下载安装进入Linux内#我习惯放在local下cd/usr/local/#新建目录mkdirminio#进入目录cdminio下载路径:#下载地址wgethttps://dl.min.io/server/minio/release/linux-amd64/minio授权:#授权chmod+xminio 2.自定义配置自定义账号与登......
  • docker-compose入门级实战教程
    ......
  • sqlserver 通过压缩bak文件实现从服务器还原数据库《数据差异数个小时》
    十年河东,十年河西,莫欺少年穷学无止境,精益求精1、备份主服务器数据库并压缩publicvoidDbBack(){varbakname=@"ChargeDB_"+DateTime.Now.ToString("yyyyMMdd")+".bak";stringfilepath=@"D:\dbback\"+bakna......