docker image ls 查看镜像
hello-world的镜像
docker pull hello-world
docker run hello-world
输出hello,world
制作一个hello,world的image
vim hello.c
#include<stdio.h>
int main()
{
printf("hello,jesse"\n);
}
gcc -static hello.c -o hello
vim Dockerfile
FROM scratch
ADD hello /
CMD ["/hello"]
开始构建:
docker build -t jesse/hello-word .
通过docker image ls 查看是否构建成功
运行:
docker run jesse/hello-word
什么是Container
1,通过Image 创建
2,在Image layer 建立一个container layer (可以读写)
3,类比面向对象:类和实例
4,Image负载app的存储和分发,Container负责运行app
命令:
docker container ls 查看正在运行的container容器
docker ls -a 查看所有的运行和没有运行的容器
docker run -it centos 直接进入容器,退出容器就退出了
docker container rm [容器ID或者容器名] 删除容器
docker rmi [idID或者镜像] 删除image
创建一个安装有vim的dockerfile
FROM centos
RUN yum install -y vim
docker build -t jesse/vim .
Dockerfile语法
FROM scrach #制作base image
FROM centos #使用base image
FROM ubuntu:14.04 #使用自定义
LABEL (类似注释)
LABEL maintainer="[email protected]"
LABEL version="1.0"
LABEL description="this is Nginx"
RUN
RUN yum update && yum install -y vim \
Nginx
WORKDIR /root
WORKDIR /test #如果没有会自动创建test目录
WORKDIR demo
RUN pwd #输出/test/demo
注意:不要使用RUN cd,尽量使用绝对目录
ADD and COPY
ADD hello /
ADD test.tar.gz / #解压到根目录并解压
WORKDIR /root
ADD hello test/ #/root/test/hello
WORKDIR /root
COPY hello test/