常用命令:
- docker pull : 获取image
- docker build : 创建image
- docker images : 列出所有的image
- docker run : 运行Container
- docker ps : 列出Container
Dockerfile实践
第一个Dockerfile
- 创建dockerfile
From alpine:latest
MAINTAINER angus
CMD echo "Hello World"
- 构建镜像
docker build -t 镜像名称 .
- 查看是否创建成功
docker images
- 运行image
docker run hello_docker
第二个Dockerfile
- 创建dockerfile
FROM ubuntu
MAINTAINER angus
RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
RUN apt-get update
RUN apt-get install -y nginx
COPY index.html /var/www/html
ENTRYPOINT ["/usr/sbin/nginx", "-g", "daemon off;"]
EXPOSE 80
新建index.html
Hello world
- 构建镜像
docker build -t angus/hello-nginx .
- 查看image
Angus@JianguodeiMac ~/docker/d2 docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
angus/hello-nginx latest e05671d01eeb 27 seconds ago 151MB
hello_docker latest a665b8c614c5 19 hours ago 5.58MB
ubuntu latest 3556258649b2 2 weeks ago 64.2MB
- 运行
Angus@JianguodeiMac ~/docker/d2 docker run -d -p 80:80 angus/hello-nginx
80cd0f03b32aaa1c42530af85685ec3bc3f31480b17270b5034b5ede47c96f65
- 结果
Dockerfile语法
命令 | 作用 |
---|---|
FROM | 基础镜像 |
RUN | 执行命令 |
ADD | 添加文件(拷贝文件/文件夹,也可以添加远程文件) |
COPY | 拷贝文件(拷贝文件/文件夹) |
CMD | 执行命令 |
EXPOSE | 暴露端口 |
WORKDIR | 指定运行命令的路径 |
MAINTAINER | 维护者 |
ENV | 设置环境变量 |
ENTERPOINT | 与CMD相似,容器入口 |
USER | 指定用户 |
VOLUME | mount point 挂载卷 |