1. 犀牛前端部落首页
  2. Docker

安装完Docker后配置

在你完成Docker安装后,你应该有一个新的窗口,它将指导你通过Docker创建图像和容器的第一步:

安装完Docker后配置

这是一种有趣的方式,可以帮助您加速下载第一个镜像并将其作为容器运行。

安装完Docker后配置

你可以在这个应用程序内建的终端中运行这些命令,但是俺更喜欢在自己的shell中运行。

打开macOS终端,运行cd dev进入我的主dev文件夹,然后创建一个docker子目录,我将在那里存放所有的docker实验。运行cd docker,然后运行:

git clone https://github.com/docker/getting-started

该命令创建了一个新的获取启动文件夹,其中包含存储库的内容https://github.com/docker/getting-started:

安装完Docker后配置

现在从这个文件夹中,以docker build 这种方式运行命令:

docker build -t docker101tutorial .

这将从标签名为docker101tutorial的当前文件夹的内容构建图像。

这是Dockerfile

*# Install the base requirements for the app.*
*# This stage is to support development.*
FROM python:alpine AS base
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt

*# Run tests to validate app*
FROM node:12-alpine AS app-base
WORKDIR /app
COPY app/package.json app/yarn.lock ./
RUN yarn install
COPY app/spec ./spec
COPY app/src ./src
RUN yarn test

*# Clear out the node_modules and create the zip*
FROM app-base AS app-zip-creator
RUN rm -rf node_modules && \
    apk add zip && \
    zip -r /app.zip /app

*# Dev-ready container - actual files will be mounted in*
FROM base AS dev
CMD ["mkdocs", "serve", "-a", "0.0.0.0:8000"]

*# Do the actual build of the mkdocs site*
FROM base AS build
COPY . .
RUN mkdocs build

*# Extract the static content from the build*
*# and use a nginx image to serve the content*
FROM nginx:alpine
COPY --from=app-zip-creator /app.zip /usr/share/nginx/html/assets/app.zip
COPY --from=build /app/site /usr/share/nginx/html

正如你所看到的,它创建了我们的图像不只是一个,而是3个基础图像:python:alpine, node:12-alpine和nginx:alpine。

当你运行docker build -t docker101tutorial时,它会从下载第一个基本镜像开始:

安装完Docker后配置

然后它将运行我们在Dockerfile中定义的所有命令。

安装完Docker后配置

它会一直持续,直到我们到达终点:

安装完Docker后配置

现在我们有了进项docker101tutorial,我们可以基于这个镜像运行一个容器。

结合这些属性运行命令docker run :

docker run -d -p 80:80 --name docker-tutorial docker101tutorial

我们使用- d选项来后台运行容器和打印容器ID。如果你错过了这个标志,你才会立即回到壳容器出口(但如果是长期存在的,例如它运行一个服务节点应用之类,它不会自动退出)。

-p选项用于将容器的端口80映射到主机端口80。容器在端口80上公开Web服务器,我们可以将计算机上的端口映射到容器公开的端口。

——name为容器分配一个名称,最后我们有了创建容器时应该使用的图像名称(docker101tutorial)。

如果你对命令选项有任何疑问,运行docker —help,在这种情况下,docker运行—help,你会得到一个非常详细的解释:

安装完Docker后配置

这个命令非常快,你会得到返回的容器ID:

原创文章,作者:犀牛前端部落,如若转载,请注明出处:https://www.pipipi.net/3459.html

发表评论

登录后才能评论