外贸基本流程,郑州seo价格,上海疫情最新消息今天封城了,怎样查看网站备案号文章目录 前言一、docker安装与MySQL部署1.Linux环境下docker的安装#xff08;1#xff09;基于CentOS7#xff08;2#xff09;基于Ubuntu 二、docker基础1.常见命令#xff08;1#xff09;快速创建一个mysql容器#xff08;MySQL得一键安装#xff09;。#xff0… 文章目录 前言一、docker安装与MySQL部署1.Linux环境下docker的安装1基于CentOS72基于Ubuntu 二、docker基础1.常见命令1快速创建一个mysql容器MySQL得一键安装。2docker pull 拉取镜像。3docker images查看本地镜像。4docker save保存镜像到本地压缩文件。5docker rmi删除本地镜像。6docker load查看容器。7docker run -d --name创建并运行容器。8docker stop关闭容器。9docker ps查看容器。10docker start启动指定容器11docker restart重新启动指定容器12docker rm删除指定容器13docker logs查看容器运行日志14docker exex进入容器 2.命名别名3.数据卷1什么是数据卷2如何挂载数据卷3数据卷的常见命令有哪些4演示--MySQL的匿名数据卷5挂载本地目录或文件 4.镜像5.网络 三、项目部署1.数据库2.后端3.前端4.测试 前言
docker是快速构建、运行、管理应用的工具本文记录了docker安装、docker基础命令、docker的基本操作以及java项目的部署。 一、docker安装与MySQL部署
主要讲述在Linux环境下docker的安装过程。
1.Linux环境下docker的安装
1基于CentOS7
1.切换到root。
su root2.卸载旧版本docker。
yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine3.配置docker的yum库 安装一个yum工具
yum install -y yum-utils安装成功后执行命令配置docker的yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo4.安装docker
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin5.启动和校验
# 启动Docker
systemctl start docker# 停止Docker
systemctl stop docker# 重启
systemctl restart docker# 设置开机自启
systemctl enable docker# 执行docker ps命令如果不报错说明安装启动成功
docker ps2基于Ubuntu
1.卸载旧版本
apt-get remove docker docker-engine docker.io containerd runc如果出现如下情况需要添加管理员权限su root才可以卸载 2.更新软件包
sudo apt update
sudo apt upgrade3.添加docker依赖库
apt-get install ca-certificates curl gnupg lsb-release4.添加docker官方GPG密钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -5.添加docker软件源
sudo add-apt-repository deb [archamd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable6.安装docker
apt-get install docker-ce docker-ce-cli containerd.io7.校验
sudo docker run hello-world二、docker基础
1.常见命令
Docker最常见得命令就是操作镜像、容器得命令官方文档https://docs.docker.com/
1快速创建一个mysql容器MySQL得一键安装。
docker run -d \--name mysql \-p 3306:3306 \-e TZAsia/Shanghai \-e MYSQL_ROOT_PASSWORD123 \mysqldocker run创建并运行一个容器-d是让容器在后台运行。
–name mysql给容器起个名字必须唯一。
-p 3306:3306设置端口映射。
-e KEYVALUE是设置环境变量。
镜像名称结构 Repository:TAG 镜像名:版本号
2docker pull 拉取镜像。 3docker images查看本地镜像。 4docker save保存镜像到本地压缩文件。 5docker rmi删除本地镜像。 6docker load查看容器。
7docker run -d --name创建并运行容器。 8docker stop关闭容器。
9docker ps查看容器。 docker ps -a查看所有容器。10docker start启动指定容器
11docker restart重新启动指定容器 12docker rm删除指定容器 docker rm -f强制删除容器13docker logs查看容器运行日志 options:-f跟踪日志输出--since显示某个开始时间的所有日志-t显示时间戳--tail仅列出最新N条容器日志14docker exex进入容器 2.命名别名
1编辑bashrc文件。
vi /root/.bashrc2添加需要简化的命令。 3执行如下命令使其命令别名生效。
source /root/.bashrc3.数据卷
1什么是数据卷
数据卷是一个虚拟目录它将宿主机目录映射到容器内目录方便我们操作容器内文件或者方便迁移容器产生的数据。
2如何挂载数据卷
在创建容器时利用 -v 数据卷名容器内目录完成挂载。 容器创建时如果发现挂载的数据卷不存在时会自动创建。
3数据卷的常见命令有哪些
docker volume ls查看数据卷 docker volume rm删除数据卷 docker volume inspect查看数据卷详情 docker volume prune删除未使用的数据卷
4演示–MySQL的匿名数据卷
1.查看MySQL容器详细信息
docker inspect mysql重点关注如下部分
2.查看该目录下的MySQL的data文件
ls -l /var/lib/docker/volumes/55800fa091f23d27e2e45c2b68fd57f1570b264ec047c61a24f257359f2b6f72/_data5挂载本地目录或文件
由于数据卷的目录结构较深为了操作简便我们可以直接将容器目录与宿主机指定目录挂载。 1.挂载语法
# 挂载本地目录
-v 本地目录:容器内目录
# 挂载本地文件
-v 本地文件:容器内文件注意本地目录或文件必须以/或./开头。
2.演示 1将本地文件上传至虚拟机/root目录下 2删除mysql容器并进入到~。
# 删除mysql容器
docker rm -f mysql
# 切换至~
cd ~3创建并运行mysql容器挂载本地目录
docker run -d \--name mysql \-p 3306:3306 \-e TZAsia/Shanghai \-e MYSQL_ROOT_PASSWORD123 \-v ./mysql/data:/var/lib/mysql \-v ./mysql/conf:/etc/mysql/conf.d \-v ./mysql/init:/docker-entrypoint-initdb.d \mysql4查看root目录可以发现~/mysql/data目录已经自己创建好了
ls -l mysql5进入MySQL
docker exec -it mysql mysql -uroot -p1234.镜像
部署如下demo项目以及对应的Dockerfile: 1将准备好的上述两个文件上传到虚拟机的/root/demo下。 2在当前目录下构建一个名为docker-demo的容器。
docker build -t docker-demo:1.0 .3查看镜像列表。
docker images4运行该镜像。
# 1.创建并运行容器
docker run -d --name dd -p 8080:8080 docker-demo:1.0
# 2.查看容器
docker ps -a
# 3.访问(访问的是之前已经部署好的项目docker-demo)
curl localhost:8080/hello/count5.网络
1基础命令
命令说明docker network create创建一个网络docker network ls查看所有网络docker network rm删除指定网络docker network prune清除未使用的网络docker network connect使指定容器连接加入某网络docker network disconnect使指定容器连接离开某网络docker network inspect查看网络详细信息
2实现在同一个自定义网络中不使用ip地址通过别名互相访问。
1.确保需要加入同一网络的容器的status在up状态。 2.创建一个自定义网络。
# 创建网络
docker network create yeam
# 查看所有网络
docker network ls3.将容器加入自定义网络。
# 将mysql容器加入自定义网络
docker network connect yeam mysql
# 将dd容器加入自定义网络
docker network connect yeam dd
# 也可以在创建容器的时候直接加入网络但是创建时指定容器就不会加入默认网桥
# docker run -d --name dd -p 8080:8080 --network yeam docker-demo:1.04.检验网络是否互通。 不使用ip使用容器名也可以访问。
三、项目部署
在此以黑马商城的项目为例进行部署。
1.数据库
1将mysql文件夹上传至虚拟机的root/下。 2创建mysql容器。
# 删除原来的mysql容器
docker rm -f mysql
# 创建
docker run -d \--name mysql \-p 3306:3306 \-e TZAsia/Shanghai \-e MYSQL_ROOT_PASSWORD123 \-v ./mysql/data:/var/lib/mysql \-v ./mysql/conf:/etc/mysql/conf.d \-v ./mysql/init:/docker-entrypoint-initdb.d \mysql# 查看root目录发现./mysql/data目录以及自己创建好了ls -l mysql# 进入mysql容器查看数据库是否初始化完成docker exec -it mysql mysql -uroot -p1232.后端
1使用idea将打包好的jar包和Dockerfile文件上传至/root目录下。 2创建项目的镜像。
docker build -t hmall .3检查 通过浏览器可以访问http://虚拟机ip:18080/search/list
3.前端
1前端代码基于nginx进行部署将准备好的nginx部署目录上传至虚拟机。 2nginx同时代理项目中的两个端口。 18080对应hmall-portal 18081对应hmall-admin
docker run -d \--name nginx \-p 18080:18080 \-p 18081:18081 \-v /root/nginx/html:/usr/share/nginx/html \-v /root/nginx/nginx.conf:/etc/nginx/nginx.conf \--network yeam \nginx注意这里的yeam为上面的自定义网络。
4.测试
使用http://虚拟机ip端口:18080/和http://虚拟机ip端口:18081/进行访问。