从运行中docker容器生成镜像
docker commit -m "ubantu spark" -a "ubantu" 9ca4f91d4027 ubantu/spark:1.0
流程
- 运行docker镜像
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查看
网友评论