您的位置:首页 > 财经 > 金融 > 写作网站哪个好_企业邮箱注册账号_郑州模板网站建设_青岛网站建设方案

写作网站哪个好_企业邮箱注册账号_郑州模板网站建设_青岛网站建设方案

2024/11/19 12:35:11 来源:https://blog.csdn.net/qq_65317837/article/details/142345832  浏览:    关键词:写作网站哪个好_企业邮箱注册账号_郑州模板网站建设_青岛网站建设方案
写作网站哪个好_企业邮箱注册账号_郑州模板网站建设_青岛网站建设方案

1.yum和docker的安装和换源:

yum安装及换源参考如下帖子:

centos7安装yum工具(非网易云镜像)-CSDN博客

docker安装以及换源

1.首先删除旧的docker:

yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine \docker-selinux 

2.执行命令安装docker

yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

3.启动和校验

# 启动Docker
systemctl start docker# 停止Docker
systemctl stop docker# 重启
systemctl restart docker# 设置开机自启
systemctl enable docker# 执行docker ps命令,如果不报错,说明安装启动成功
docker ps

4.配置镜像加速

# 创建目录
mkdir -p /etc/docker# 复制内容,注意把其中的镜像加速地址改成你自己的
tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["http://hub-mirror.c.163.com","https://mirrors.tuna.tsinghua.edu.cn","http://mirrors.sohu.com","https://ustc-edu-cn.mirror.aliyuncs.com","https://ccr.ccs.tencentyun.com","https://docker.m.daocloud.io","https://docker.awsl9527.cn"]
}
EOF# 重新加载配置
systemctl daemon-reload# 重启Docker
systemctl restart docker

2.docker基础

1.docker常用命令

命令

说明

文档地址

docker pull

拉取镜像

docker pull

docker push

推送镜像到DockerRegistry

docker push

docker images

查看本地镜像

docker images

docker rmi

删除本地镜像

docker rmi

docker run

创建并运行容器(不能重复创建)

docker run

docker stop

停止指定容器

docker stop

docker start

启动指定容器

docker start

docker restart

重新启动容器

docker restart

docker rm

删除指定容器

docs.docker.com

docker ps

查看容器

docker ps

docker logs

查看容器运行日志

docker logs

docker exec

进入容器

docker exec

docker save

保存镜像到本地压缩文件

docker save

docker load

加载本地压缩文件到镜像

docker load

docker inspect

查看容器详细信息

docker inspect

用一副图来表示这些命令的关系:

docker run详细解读:

某些命令过于复杂,也可以给命令起别名,来简化命令。

2.数据卷

1.数据卷挂载

数据卷是一个虚拟目录,它将宿主机目录映射到容器内目录,方便我们操作容器内文件,或者方便迁移容器产生的数据。

ps:注意的是数据卷的位置是docker自动生成的,无需本人操作。缺点是目录较深,不便于操作。

常用命令如下:

也可以在创建容器时挂载数据卷:

        在执行docker run命令时,使用 -v 数据卷:容器内目录 可以完成数据卷挂载

        当创建容器时,如果挂载了数据卷且数据卷不存在,会自动创建数据卷

2.目录挂载

在执行docker run命令时,使用 -v 本地目录 : 容器内目录 可以完成本地目录挂载

本地目录必须以“/”或 "./" 开头,如果直接以名称开头,会被识别为数据卷而非本地目录

        -v mysql : /var/lib/mysql 会被识别为一个数据卷叫mysql

        -v ./mysql : /var/lib/mysql 会被识别为当前目录下的mysql目录

3.数据卷挂载和目录挂载的区别

数据卷由系统自动生成,较方便。但是生成目录较深,当容器生成匿名卷时数据不好迁移。

目录挂载中目录由自己生成,方便查找。缺点是目录需要自己提前生成。

3.自定义镜像

镜像:

镜像就是包含了应用程序、程序运行的系统函数库、运行配置等文件的文件包。构建镜像的过程其实就是把上述文件打包的过程。

构建一个Java镜像的步骤:

        ①准备一个Linux运行环境

        ②安装JRE并配置环境变量

        ③拷贝Jar

        ④编写运行脚本

镜像是分层构建的,镜像的结构如图:

Dockerfile:

Dockerfile就是一个文本文件,其中包含一个个的指令(Instruction)用指令来说明要执行什么操作来构建镜像。将来Docker可以根据Dockerfile帮我们构建镜像。常见指令如下:

更新详细语法说明,请参考官网文档: Dockerfile reference | Docker Docs

Dockerfile实例说明:

1.我们可以基于Ubuntu基础镜像,利用Dockerfile描述镜像结构

2.也可以直接基于JDK为基础镜像,省略前面的步骤:

当编写好了dockerfile后执行以下命令构建镜像:

docker build -t 镜像名 Dockerfile目录

实例:

docker build -t myimage:1.0 .

        -t:是给镜像起名,格式依然是repository:tag的格式,不指定tag时,默认为latest

        . :是指定Dockerfile所在目录,如果就在当前目录,则指定为"."

4.自定义网络

问题:两个容器创建后要求互连,在同一网桥中可以连接,但是当某一服务关闭后ip地址可能被另一个容器占用,因此需要自定义网络让容器通过名字的方式在同一网桥中互连。

加入自定义网络的容器才可以通过容器名互相访问(默认的不行),Docker的网络操作命令如下:

DockerCompose

问题:将每一个服务都去部署到服务器,太繁琐。

Docker Compose通过一个单独的docker-compose.yml 模板文件(YAML 格式)来定义一组相关联的应用容器,帮助我们实现多个相互关联的Docker容器的快速部署。

docker compose的命令格式如下:

docker compose [OPTIONS] [COMMAND]

实例展示:

单个部署:

多个部署:

version: "3.8"services:mysql:image: mysqlcontainer_name: mysqlports:- "3306:3306"environment:TZ: Asia/ShanghaiMYSQL_ROOT_PASSWORD: 123volumes:- "./mysql/conf:/etc/mysql/conf.d"- "./mysql/data:/var/lib/mysql"- "./mysql/init:/docker-entrypoint-initdb.d"networks:- hm-nethmall:build:context: .dockerfile: Dockerfilecontainer_name: hmallports:- "8080:8080"networks:- hm-netdepends_on:- mysqlnginx:image: nginxcontainer_name: nginxports:- "18080:18080"- "18081:18081"volumes:- "./nginx/nginx.conf:/etc/nginx/nginx.conf"- "./nginx/html:/usr/share/nginx/html"depends_on:- hmallnetworks:- hm-net
networks:hm-net:name: hmall

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com