Docker系列二:Container与Dockerfile基本操作

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/

猜你喜欢

转载自blog.csdn.net/weixin_36171533/article/details/81609295