docker部署文件编写(可用)

docker文件启动mysql

要使用Docker启动MySQL,您可以通过以下步骤编写Dockerfile:

  1. 选择一个基础镜像,通常是一个包含了MySQL的Linux发行版。

  2. 设置环境变量,如MySQL的root密码等。

  3. 在容器启动时运行MySQL服务。

以下是一个简单的Dockerfile示例,用于创建包含MySQL的Docker镜像:

# 使用官方MySQL镜像,选择一个基础镜像,通常是一个包含了MySQL的Linux发行版。
FROM mysql:latest
# 设置环境变量,设置环境变量,如MySQL的root密码,替换123456为自己想设置的密码
ENV MYSQL_ROOT_PASSWORD=123456
# 设置环境变量,数据库仓库“ee”创建
ENV MYSQL_DATABASE=ee
# 当Docker容器启动时,运行MySQL服务
CMD ["mysqld"]

然后,您可以使用以下命令构建和运行Docker容器:

docker build -t my-mysql-image .
docker run -d -p 3306:3306 my-mysql-image

这将创建一个名为my-mysql-image的Docker镜像,并运行一个新的容器,将容器的3306端口映射到主机的3306端口

docker文件启动nginx

要使用Docker启动Nginx,你需要创建一个Dockerfile来构建一个包含Nginx的Docker镜像,然后运行这个镜像。以下是一个简单的Dockerfile示例,用于创建包含Nginx的镜像并启动它:

# 使用最新版本的nginx镜像作为基础镜像
FROM nginx:latest
 
# 将自定义的nginx配置文件复制到容器中nginx的配置文件的地方,一般在/etc/nginx/nginx.conf
COPY nginx.conf /etc/nginx/nginx.conf
 
# 暴露80端口,无实际意义,类似于提醒
EXPOSE 80
 
# 使用自定义的配置文件启动nginx,并关闭daemon模式
CMD ["nginx", "-g", "daemon off;"]

然后,在包含该Dockerfile的目录下运行以下命令来构建和启动容器:

docker build -t my-nginx-image .
docker run -d -p 80:80 my-nginx-image   
     

第一条命令会构建一个名为“my-nginx-image” 的Docker镜像。第二条命令会启动一个新的容器,将容器的80端口映射到宿主机的80端口,并将其在后台运行。

-v ./nginx.conf:/etc/nginx/nginx.conf        替换容器中nginx配置文件,写在docker run命令中

也可将其放置在Dockerfile文件中编写:COPY nginx.conf /etc/nginx/nginx.conf

docker文件启动python,配合gunicorn

为了使用Docker启动Python应用并搭配Gunicorn,你需要创建一个Dockerfile,该文件描述了如何构建一个Docker镜像。以下是一个简单的Dockerfile示例,它安装了Python环境,设置了Gunicorn,并将你的应用程序代码复制到镜像中。

# 使用Python 3.10-slim作为基础镜像
FROM python:3.10-slim

# 设置工作目录为/app
WORKDIR /app

# 复制当前目录下的应用代码到工作目录
COPY . /app

# 安装requirements中指定的依赖,由于windows无法安装使用gunicorn,这里单独安装
RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
RUN pip install gunicorn==18.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

# 连接MySQL的容器时,需要安装cryptograph,不知为何需要密码验证,windows下就不需要验证
RUN pip install cryptography -i https://pypi.tuna.tsinghua.edu.cn/simple

# 容器启动的时候执行的命令 flask run(使用内置的开发服务器启动)
#CMD ["flask", "run", "--host", "0.0.0.0"]
# 使用 Gunicorn 服务器启动 Flask 应用
#CMD ["gunicorn", "-c", "gunicorn_config.py", "app:app"]
CMD ["gunicorn", "-w", "4", "-b", "0.0.0.0:5000", "test:test"]

确保你的应用程序代码中有一个名为app.py的Flask应用或者是符合Gunicorn要求的应用入口。

然后,你可以使用以下命令构建和运行你的Docker镜像:

docker build -t my-python-image .
docker run -p 5000:5000 my-python-image

这将会创建一个名为“my-python-image”的Docker镜像,并启动一个容器实例,将容器的5000端口映射到主机的5000端口上。

docker logs -f id号        #查看容器id为46f的日志内容

docker ps -a        #查看所有容器

docker start id号        #运行对于id号的容器

docker stop id号        #停止运行对于id号的容器

docker ps        #查看正在运行中的容器

docker rm id号         #删除对于id号的容器,并且容器需要未运行的状态

docker images        #查看所有镜像

docker rmi id号         #删除对于id号的镜像,并且对于容器已删除

docker run -e TZ=Asia/Shanghai        #设置容器的时间配置,也可写在Dockerfile

# 设置环境变量时间为上海
ENV TZ=Asia/Shanghai

docker exec -it id号 /bin/bash        #进入容器,查看正在运行容器的内容

systemctl start docker        # 启动docker

一般防火墙不会影响docker的映射开启内容

systemctl status firewalld        #查看防火墙状态

systemctl start firewalld        #开启防火墙

systemctl stop firewalld        #关闭防火墙

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值