docker生成镜像的方式

2019-07-28  本文已影响0人  王金松

从运行中docker容器生成镜像

docker commit -m "ubantu spark" -a "ubantu" 9ca4f91d4027 ubantu/spark:1.0

流程

docker run -it -v /Users/kwang/docker:/usr/share/nginx/html/hello -p 80:80 -d nginx:latest
-i以交互模式运行容器,通常与 -t 同时使用; -t为容器重新分配一个伪输入终端,通常与 -i 同时使用; -p本机端口:容器端口 映射; -d后台运行,并返回容器ID; -v可以将本机目录映射到容器内。比如这里我就把我本机的/home/kwang/docker目录映射到/usr/share/nginx/html/hello/目录下;
我在/home/kwang/docker/目录下创建了一个静态页面index.html,内容仅仅输出hello world!。而/usr/share/nginx/html/目录是容器内的 nginx 网页根目录,这样设置的目的是为了演示目录映射。

docker ps -a
docker stop ${containerId}
docker start ${containerId}
docker exec -it ${containerId} bash
docker commit -m "kenny nginx" -a "kenny" 9ca4f91d4027 kenny/nginx:1.0
docker images

保存和加载镜像

docker save -o xxx.tar ubantu/spark:1.0
docker load -i xxx.tar

基于Dockerfile生成镜像

Dockerfile如下

# 基于哪个Docker镜像生成新镜像
FROM nginx:latest
# 构建者的基本信息
MAINTAINER kenny.wang
# 在build这个镜像时执行的操作
RUN apt-get update
# 拷贝本地文件到镜像中
COPY ./index.html /usr/share/nginx/html/

命令
执行build命令生成 Docker 镜像
docker build -t="kenny/nginx:2.0" .
-t 用来指定用户信息、tag等 . 是当前目录,用来寻找 Dockerfile
docker images查看

上一篇 下一篇

猜你喜欢

热点阅读