容器镜像服务 SWR-上传镜像:二、构建镜像
二、构建镜像
- 在安装docker容器引擎的虚拟机上执行以下命令,下载2048应用的源码。
git clone https://gitee.com/jorgensen/2048.git
若提示“git: command not found”表示未安装Git工具,请先安装该工具(可使用yum install git命令)。
- 下载成功后,进入“2048”目录。
cd 2048
- 修改Dockerfile文件。
vim Dockerfile
FROM nginx COPY . /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]
- FROM:指定基础镜像nginx。
- COPY:将2048源码拷贝到容器内的“/usr/share/nginx/html”目录。
- EXPOSE:暴露容器的80端口。
- CMD:指定容器运行时的默认命令。
按“Esc”,输入:wq,保存并退出。
- 使用docker build命令构建镜像。
docker build -t 2048 .
其中,
- -t表示给镜像加一个标签,也就是给镜像取名,这里镜像名为2048。
- . 表示上下文路径,镜像构建命令将该路径下的所有内容打包给容器引擎帮助构建镜像。
- 执行以下命令,查看已成功构建的2048镜像,版本为默认的latest。
docker images
# docker images REPOSITORY TAG IMAGE ID CREATED SIZE 2048 latest 8d421c503ed0 About a minute ago 134MB nginx latest dd34e67e3371 6 days ago 133MB
您还可以看到一个nginx镜像,这个镜像是从镜像仓库下载下来,作为2048镜像的基础镜像使用的。
- (可选)运行容器镜像。
镜像构建成功后,您可以执行docker run命令运行容器镜像。
docker run -p 8080:80 2048
docker run命令会启动一个容器,命令中-p是将虚拟机的8080端口映射到容器的80端口,即虚拟机的8080端口的流量会映射到容器的80端口,当您在本地机器的浏览器访问“http://E CS 的弹性公网IP:8080”时,就会访问到容器中,此时浏览器返回的内容就是2048应用页面。