docker run ubuntu:15.10 /bin/echo "Hello world"
docker run -> 创建新容器实例的指令
ubuntu:15.10 -> 镜像名字,本机不存在便在 dockerhub上查找下载
/bin/echo "Hello world" -> 动作,在容器内执行的命令
docker run 后面带的参数
-i 允许对容器内标准输入进行互动操作
-t 在容器中指定一个终端
-d 后台启动容器,返回 如下的容器id
de9eb5a83989c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63
-P 将容器内部使用的网络端口映射到我们使用的主机上。
-p 和 P相同,具体指出 端口映射规则
--name 命名容器
--link 因为容器重启ip会变,link设置类似 域名的访问(默认所有容器互联) --link=容器名:别名
docker ps 查看容器进程,端口映射关系
docker ps -l 查看最近一次创建的容器信息
docker port de9eb5a83989 查看id 为de9eb5a83989 容器的端口映射
docker logs de9eb5a83989 查看容器id 为de9eb5a83989的 标准输出
docker logs -f de9eb5a83989 类似于 tail -f
docker run -d -P training/webapp python app.py
docker run -d -p 5000:5000 training/webapp python app.py
docker inspect de9eb5a83989 查看具体容器的底层信息,返回记录状态和配置信息的json文件
docker stop de9eb5a83989 停止id为de9eb5a83989的 容器
docker start de9eb5a83989 启动已停止的容器
docker restart de9eb5a83989 重启指定容器
docker rm de9eb5a83989 删除指定容器(已停止状态)
docker images 列出本机镜像列表
docker search httpd 查找httpd的镜像
docker pull : 从镜像仓库中拉取或者更新指定镜像
创建镜像
1.交互式命令启动容器
docker run -t -i ubuntu:15.10 /bin/bash
2.在容器内安装需求的软件
3.exit退出容器
4.提交容器副本到本地容器库 docker commit -m="描述信息" -a="作者" de9eb5a83989 runoob/ubuntu:v2
runoob/ubuntu -> 容器名
v2 -> 标签(版本)
从零构建镜像
1.创建 Dockerfile
2.docker build -t runoob/centos:6.7 .
-t 指定创建镜像的名字
. Dockerfile 的绝对路径
Dockerfile解析
FROM centos:6.7
MAINTAINER Fisher "fisher@sudops.com"
RUN /bin/echo 'root:123456' |chpasswd
RUN useradd runoob
RUN /bin/echo 'runoob:123456' |chpasswd
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE 22
EXPOSE 80
CMD /usr/sbin/sshd -D
FROM 镜像源
MAINTAINER 创建者 邮箱
RUN 执行的命令 每执行一条便创建新的一层
EXPOSE 容器对外映射的容器端口号 在docker run -p的时候生效