1.从Dockerfile 创建一个image
docker build -t namespace/image-name[:tag] .
- -t 指定标签
- namespace 命名空间(可选)
- image-name 镜像名
- tag 标签 (可选 默认latest,有点类似git的标签)
- . Dockerfile 所在目录
2.Dockerfile 文件
FROM debian //基于debian 镜像创建,父级镜像RUN apt-get update //执行命令RUN apt-get install -y gitRUN apt-get install -y wget
3.从image运行一个容器
docker run -t -i image
- -t tty 控制台
- -i stdin 支持用户输入
- 这两个参数貌似是必须的,不然容器起不来(不知道原因)
- image 镜像id 或 镜像名
- 挂载本地目录
docker run -it -v /home/dock/Downloads:/usr/Downloads --name container image
- -v 指定挂载目录,冒号前是本地目录,冒号后是容器目录
- --name 可以指定容器名(默认是随机的)
4.启动一个容器
docker start -a -i container
- -a stdout&stderr
- -i stdin
- 使用这两个参数可以将会直接登录到容器中操作容器,否则容器将在后台运行
- container 容器名或id
5.将容器制作为镜像
docker commit container namespace/image-name[:tag]
6.push镜像到注册服务器
docker push NAME[:TAG]
- 默认是push到docker hub,需要先登录:
docker login //会提示输入用户名和密码 ,用户名不能使用邮箱
- 也可以使用其他服务器或自己搭建服务器:
docker login localhost:8080
###############################################
- nginx
docker search nginxdocker pull nginxdocker run -it --name nginx -v /Users/dubox/dev/docker/mogu:/data -p 80:80 nginx /bin/bash
- php
docker run -it --name php-fpm -v /Users/dubox/dev/docker/mogu:/data -p 9000:9000 php:7.1.8-fpm /bin/bash