概述:其实知识点不是很难,比较基础,docker真心好用,在开发环境中。写这篇博客的原因是,为了能够帮助到刚入门到兄弟,不知道如何操作。
1.去hyperf官网下载dockerfile,下面我会提供链接,和我写博客当下最新的dockerfile
GitHub链接:点击前往:dockerfiel下载地址dockerfile内容 :
FROM hyperf/hyperf:7.2-alpine-v3.9-cli LABEL maintainer
="Hyperf
Developers <group@hyperf.io>" version
="1.0" license
="MIT"
ENV TIMEZONE
=$
{timezone:-
"Asia/Shanghai"} \
APP_ENV
=prod
&& apk update \
&& cd /tmp \
&& wget https://mirrors.aliyun.com/composer/composer.phar \
&& chmod u+x composer.phar \
&& mv composer.phar /usr/local/bin/composer \
&& php -v \
&& php -m \
&& php --ri swoole \
&& cd /etc/php7 \
&& { \
echo "upload_max_filesize=100M"; \
echo "post_max_size=108M"; \
echo "memory_limit=1024M"; \
echo "date.timezone=${TIMEZONE}"; \
} | tee conf.d/99_overrides.ini \
&& ln -sf /usr/share/zoneinfo/
${TIMEZONE} /etc/localtime \
&& echo "${TIMEZONE}" > /etc/timezone \
&& rm -rf /var/cache/apk/* /tmp/* /usr/share/man \
&& echo -e
"\033[42;37m Build Completed :).\033[0m\n"
WORKDIR /opt/www
COPY
. /opt/www RUN composer
install --no-dev -o
EXPOSE 9501
ENTRYPOINT
["php",
"/opt/www/bin/hyperf.php",
"start"]
2.创建镜像
docker build -t ImageName:TagName
dir
docker build -t ImageName:TagName
.
命令详解:
-t: 给镜像加一个Tag ImageName:给镜像起的名称 TagName:给镜像的Tag名 Dir :Dockerfile所在目录
执行完概述: 执行完毕,就会生成2个镜像,如图所示:
3.重命名镜像
docker tag IMAGEID
(镜像id
) REPOSITORY:TAG(仓库:标签)
4.运行容器
这边稍微理下思路,在我们镜像立马,hyperf已经帮我们整了个可启动的项目,那我们要做什么呢? 1.文件挂载:可以自己官网上在本地整个项目代码,挂载进去,这边我们把容器里面的项目给复制出来,放到我们项目目录下 2.端口映射:默认就9501
docker run -d -it -p 9501:9501 --name hyperf7.2 hyperf/hyperf:7.2
docker
cp hyperf7.2:/opt/www/. /workspace/www/hyperf/
docker
rm -f hyperf7.2
docker run -d -it -p 9501:9501 -v /workspace/www/hyperf:/opt/www --name hyperf7.2 --rm hyperf/hyperf:7.2