docker文件启动mysql
要使用Docker启动MySQL,您可以通过以下步骤编写Dockerfile:
-
选择一个基础镜像,通常是一个包含了MySQL的Linux发行版。
-
设置环境变量,如MySQL的root密码等。
-
在容器启动时运行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 #
关闭防火墙