江苏镇江论坛,谈网站优化的外部链接质量,哪个网站网页做的好看,用eclipse做网站开发docker-compose 单机容器编排
Dockerfile#xff1a;先配置好的文件#xff0c;然后bulid#xff0c;镜像容器。
docker-compose 既可以基于dockerfile#xff0c;也可以基于镜像#xff0c;一键式拉起镜像和容器。
docker-compose 核心就是yml文件#xff0c;可以定义…docker-compose 单机容器编排
Dockerfile先配置好的文件然后bulid镜像容器。
docker-compose 既可以基于dockerfile也可以基于镜像一键式拉起镜像和容器。
docker-compose 核心就是yml文件可以定义容器的一切。通过yml配置直接运行容器。 什么场景下我们用到docker
docker单节点。docker没有同一对外提供的端口和配置。docker一般都是内部访问。无需使用https。如果要对外和分布式的方式提供统一访问的端口k8singress。 docker-compose的常用命令
build构建服务
ps列出由docker-compose编排出来的容器
up创建和启动容器
top显示容器的进程
logs查看容器的输出日志
down删除容器网络数据卷。
exec在容器当中执行命令。
stop/start/restart
scale指定容器启动的副本一模一样的容器nginx3 安装docker-compose
mv docker-compose-linux-x86_64 docker-compose
mv docker-compose /usr/local/bin/
chmod 777 /usr/local/bin/docker-compose
docker-compose -v 查看结构
yum -y install tree 创建简单nginx
mkdir compose-nginx
cd compose-nginx/ mkdir nginx
vim Dockerfile
FROM centos:7
RUN yum -y install pcre-devel zlib-devel gcc gcc-c make useradd -M -s /sbin/nologin nginx
ADD nginx-1.22.0.tar.gz /usr/local/src/
WORKDIR /usr/local/src/nginx-1.22.0
RUN ./configure
--prefix/usr/local/nginx
--usernginx
--groupnginx
--with-http_stub_status_module make -j 4 make install
ENV PATH /usr/local/nginx/sbin:$PATH
EXPOSE 80
CMD [/usr/local/nginx/sbin/nginx,-g,daemon off;] 配置访问页面
mkdir www
echo this is nginx1 index.html 在nginx和www目录下创建docker-compose.yml
vim docker-compose.yml
version: 3
#指定docker-compose的文件版本
services :
#定义需要运行的服务
nginx:
container_name: web1
#指定创建容器的名字。
hostname: nginx
#指定容器的主机名
build:
#指定构建nginx容器的.上”下文以及dockerfile
context: /opt/compose-nginx/nginx
#指定dockerfile的位置如果用镜像换成image:
dockerfile: Dockerfile
ports:
#直接指定宿主机和容器的端口映射关系
- 1213:80
networks:
#声明给容器指定的IP地址
mynet:
#自定义网络
ipv4_address: 172.18.0.10
volumes:
- /opt/compose-nginx/www:/usr/local/nginx/html
networks:
#创建自定义网桥接口配置
mynet:
driver: bridge
#声明网段的类型
ipam:
#声明网段ip地址的管理和配置
config:
#子网配置指定IP地址的范围:
- subnet: 172.18.0.0/16 启动
docker-compose -f docker-compose.yml up -d
查看结构 先拉镜像 docker pull centos:7
docker-compose -f docker-compose.yml up -d
docker-compose命令的开头使用docker-compose进行容器编排
-f使用特定的compose的模版文件 -般都用docker-compose.yml
-pproject-name指定项目名称如果不加会使用目录名称
-d后台运行 只能要在 docker-compose.yml文件下才能用命令
进入直接 docker exec -it web1 bash docker-compose最直接的 作用就是一键拉起镜像容器。不需要docker run 实验直接拉起lnmp
mkdir lnmp nginx mysql php vim docker-compose.yml version: 3
services:
nginx:
hostname: nginx
build:
context: /opt/lnmp/nginx/
dockerfile: Dockerfile
ports:
- 1314:80
container_name: nginx_server
networks:
lnmp:
ipv4_address: 172.111.0.10
volumes:
- nginx-data:/usr/local/nginx/html
mysql:
hostname: mysql
build:
context: /opt/lnmp/mysql/
dockerfile: Dockerfile
ports:
- 3306:3306
container_name: mysql_server
networks:
lnmp:
ipv4_address: 172.111.0.20
privileged: true
volumes:
- mysql-data:/usr/local/mysql/
php:
hostname: php
build:
context: /opt/lnmp/php/
dockerfile: Dockerfile
ports:
- 9000:9000
- nginx-data:/usr/local/nginx/html/
- mysql-data:/usr/local/mysql/
networks:
lnmp:
driver: bridge
ipam:
config:
- subnet: 172.111.0.0/16
volumes :
nginx-data:
mysql-data: privileged: true
#虽然我们登录容器显示的是root用户伪管理员一旦privileged: true,容内的root用户和宿主机的root用户拥有一-样的权限在生产中能不给就不给。 设置网络 启动
docker-compose -f docker-compose.yml up -d 进入数据库打开远程连接权限
create database wordpress;
grant all privileges on wordpress.* to wordpress% identified by 123456;
grant all privileges on *.* to root% identified by 123456;
flush privileges; docker-compose 特点
单机容器编排构建可以实现以及是的拉起镜像和创建容器。
yml文件的格式
version: 3
解析代码的版本声明解释器
services:
声明服务可以由多个services
networks
写在服务配置赋予容器ip当中
写在定格大的模块创建网段
volumes:
nginx nginx-data: /usr/local/nginx
volumes:
nginx-data:
mysql-data:
docker-compose核心就是yml文件, yml就是把docker run的命令写成代码。