docker-compose的安装,使用教程及使用yaml搭建个人博客
目录
四、使用docker-compose编写docker-compose.yml文件搭建个人博客
一、docker-compose的简介
我将通俗易懂的来给大家简单讲解一下什么是docker,什么是镜像和仓库,什么是容器,什么是docker-compose。
docker:开源容器引擎,基于Go语言。简单来说就是一个可移植的应用,每个应用之间都是独立的空间,又可以通过docker的网络进行连接
镜像和仓库:docker有自己的镜像仓库,当用户需要使用时会从公有的镜像仓库中拉去相对应的镜像,这个镜像仓库可以说相当于手机上的应用市场,需要时可以通过应用市场下载下来,不同的是docker可以基于下载的镜像进行二次开发成为自己需要的服务镜像。同时也可以搭建私有的镜像仓库,存放属于自己的镜像。
容器:容器就是将镜像通过docker run命令运行起来成为容器,可以通过dockerfile成为镜像最后再成为容器,轻量级,可移植。
docker-compose:compose是用于定义和运行管理多个容器的工具,通过编写不同的.yml文件构成特定的服务,最后执行docker-compose up 来启动整个应用程序
二、docker-compose的安装
1,下载docker-compose安装包
wget https://github.com/docker/compose/releases/download/v2.15.1/docker-compose
linux-x86_64
2,验证并添加权限
mv docker-compose-linux-x86_64 /usr/local/bin/ ##将下载的包移动到/bin目录下
cd /usr/local/bin/ ##进入
mv docker-compose-linux-x86_64 docker-compose ##改名为docker-compose
ls
chmod +x docker-compose ##赋予执行权限
ll ##权限查看
如图所示:
三、docker-compose.yaml文件编写教程
1,version
version: "1.1" ##服务版本
2,services
services: ##代表包括的服务
webapp: ##服务的名字
………… ##服务的一些操作
…………
mysql: ##服务的名字
…………
…………
nginx: ##服务的名字
…………
…………
3,服务名
version: "1.1" ##服务的版本号
service:
db:
images: mysql:5.7 ##服务基于的镜像,会自动拉取
build: ##指定构建镜像的路径
context: ./dir ##上下文路径
dockerfile: jpzdocker ##指定构建镜像的Dockerfile文件名
command: '--default -authentication -plugin=mysql_native_password' ##指定了默认的认证插件
container_name: jpzdb ##自定义容器名称
entrypoint: /root/usr.sh ##用于指定容器启动时要执行的命令、脚本
environment: ##添加环境变量
- ./ajtih.env
- ./jjj/kkej.env
expose: ##指定要暴露的端口号
- 8888
- 5455
ports: ##端口映射与暴露
- 6655:8899 ##将容器内的8899端口映射到宿主机的6655端口
restart: always ##重启方式,分为no默认,不重启,alwayes总是,on-failure出错重启 ,unless-stopped退出重启
volumes: ##将宿主机的数据卷或者文件挂载到容器里
- db_data:/var/lib/mysql
四、使用docker-compose编写docker-compose.yml文件搭建个人博客
1,创建单独的工作目录
mkdir buoke
cd buoke
2,编写docker-compose.yml文件
version: 1.1 ##自定义版本号
services: ##包含的服务
db: ##db服务
image: mariadb:10.6.4-focal ##使用的镜像
command: '--default-authentication-plugin=mysql_native_password'##指定默认的认证插件
volumes: ##挂载的数据卷
- db_data:/var/lib/mysql ##将宿主机的db_data数据卷挂载到容器的/var/lib/mysql目录
restart: always ##设置重启策略为总是自动重启
environment: ##环境变量配置
- MYSQL_ROOT_PASSWORD=somewordpress ##设置MySQL的根密码
- MYSQL_DATABASE=wordpress ##创建数据库wordpress
- MYSQL_USER=wordpress ##创建用户wordpress
- MYSQL_PASSWORD=wordpress ##设置用户密码
expose: ##端口暴露
- 3306 ##mysql默认端口
- 33060 ##用于调试
wordpress: ##wordpress服务
image: wordpress:latest ##使用的镜像
volumes:
- wp_data:/var/www/html
ports: ##端口映射与暴露
- 80:80 ##宿主机:容器内
restart: always
environment:
- WORDPRESS_DB_HOST=db ##指定WordPress连接的数据库主机为名为db的服务
- WORDPRESS_DB_USER=wordpress ##设置WordPress连接数据库的用户
- WORDPRESS_DB_PASSWORD=wordpress ##设置WordPress连接数据库的密码
- WORDPRESS_DB_NAME=wordpress ##设置WordPress连接数据库的名称
volumes: ##数据卷定义
db_data:
wp_data:
3,启动验证
docker-compose up -d ##启动应用程序并放到后台运行-d参数
浏览器访问验证
原文地址:https://blog.csdn.net/weixin_45403773/article/details/144726645
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!