使用dockfile创建镜像

一、docker build

使用Dockerfile创建镜像,在testlink的文件夹下有Dockerfile,
Dockerfile内容如下

FROM eboraas/apache-php
RUN mkdir -p /var/www/html/testlink && mkdir -p /var/testlink/logs && mkdir -p /var/testlink/upload_area && chown www-data:www-data /var/testlink -R 
ADD . /var/www/html/testlink
RUN chown www-data:www-data /var/www/html/testlink/gui/templates_c  -R

进入testlink的目录,使用当前目录的Dockerfile创建镜像。
执行命令docker build -t testlink .
其中-t 指定了镜像的名称,. 这一点表示读取当前目录下的Dockerfile文件。
我们查看下当前的本地镜像,有一个名为testlink的镜像,如果之前已经有一个名为testlink的镜像,会把之前的那个设置为none

docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
testlink             latest              3131b46ef501        3 minutes ago       451MB
                             1b854f583b24        44 hours ago        451MB

二、docker inspect

获取容器/镜像的元数据docker inspect 3131b46ef501
可得知镜像内的testlink使用的是80端口

三、docker run

创建一个新的容器:docker run -it -p 9001:80 testlink
使用testlink镜像,以后台模式启动一个容器,将容器的80端口映射到主机的9001端口
使用docker ps来查看我们正在运行的容器

docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                           NAMES
8d4db3676cbc        testlink            "/usr/sbin/apache2ct…"   2 minutes ago       Up 2 minutes        443/tcp, 0.0.0.0:9001->80/tcp   festive_davinci

docker logs [ID或者名字] 可以查看容器内部的标准输出
docker logs -f 8d4db3676cbc
停止应用容器
docker stop 8d4db3676cbc
进入容器
docker attach 8d4db3676cbc或者docker exec -it 8d4db3676cbc /bin/bash

你可能感兴趣的:(使用dockfile创建镜像)