去docker hub注册
REPOSITORY:仓库
TAG :镜像标签
IMAGE ID : 标识镜像
我的docker账号
id: kjfure
email: kjfure@163.com
构建
1.查看
$sudo docker imags
$sudo docker imags ubuntu
2.从仓库拉取镜像
$sudo docker pull ubuntu
$sudo docker pull ubuntu:14.04
3.登陆
$sudo docker login
4.使用docker commit 创建
$sudo docker run -it ubuntu:14.10 /bin/bash
#apt-get -yqq update
#exit
$sudo docker commit a84bee1cc3b7 kjfure/apache2
$sudo docker commit -m="xxxxx"-author="xxxxx" a84bee1cc3b7 kjfure/apache2:webserver
$sudo docker inspect kjfure/apache2
5.使用Dockerfile
Dockerfile由一系列指令和参数组成,指令大写且后面跟随一个参数。
每条指令执行都会创建一个新的镜像层并进行提交,这样保证如果没有指令正常结束,也会得到一个可以使用的镜像。
FROM指定基础镜像
MAINTAINER
ENV设置环境变量
RUN构建时运行指令
CMD启动时运行指令
ENTRYPOINT启动时运行指令
WORKDIR创建时构建目录
USER指定docer运行的用户
VOLUME指定卷
COPY将构建环境下的文件复制到镜像中去
ONBUILD添加触发器
EXPOSE端口
$sudo mkdir static_web
$sudo touch Dockerfile
$sudo vi Dockerfile
$ sudo docker build-t="kfure/dockerfile_web" . #注意这里有一个小圆点.为Dockerfile的路径
$ sudo docker build-t="kfure/dockerfile_web:v1" .
$sudo docker build --no-cache -t="kjfure/dockerfile_web".
指定端口与宿主机通讯
$sudo docker run -d -Pubuntu:10.04 #EXPOSE
$sudodocker run -d -p 80 ubuntu:10.04
$sudo docker run -d -p [宿主机端口]:[docker port] ubuntu:10.04
$sudo docker ps -l
$sudo docker port [宿主机端口] [docker port]
6.将镜像推送到dockerhub
$ sudodocker push kjfure/dockerfile_web
7.删除一个镜像
$sudodocker -rmi kjfure/dockerfile_web
Dockerhub 直接界面删除