sudo service docker start
sudo docker run hello-world
docker stats --help
docker run -d -P training/webapp python app.py
docker ps
docker port 7a38a1ad55c6
docker logs -f 7a38a1ad55c6-f:让 dokcer logs 像使用 tail -f 一样来输出容器内部的标准输出
docker top determined_swanson我们还可以使用 docker top 来查看容器内部运行的进程
使用 docker inspect 来查看Docker的底层信息。
它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。
docker inspect determined_swanson
docker images 来列出本地主机上的镜像
REPOSTITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小
同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,如ubuntu仓库源里,
有15.10、14.04等多个不同的版本,我们使用 REPOSTITORY:TAG 来定义不同的镜像。
我们可以从 Docker Hub 网站来搜索镜像,Docker Hub 网址为: https://hub.docker.com/
我们也可以使用 docker search 命令来搜索镜像。比如我们需要一个httpd的镜像来作为我们的web服务。我们可以通过 docker search 命令搜索 httpd 来寻找适合我们的镜像。
docker search httpd
NAME:镜像仓库源的名称
DESCRIPTION:镜像的描述
OFFICIAL:是否docker官方发布
我们决定使用上图中的httpd 官方版本的镜像,使用命令 docker pull 来下载镜像。
docker pull httpd
更新镜像之前,我们需要使用镜像来创建一个容器
docker run -t -i ubuntu:15.10 /bin/bash
在运行的容器内使用 apt-get update 命令进行更新。
在完成操作之后,输入 exit命令来退出这个容器。
此时ID为e218edb10161的容器,是按我们的需求更改的容器。我们可以通过命令 docker commit来提交容器副本。
runoob@runoob:~$ docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2
sha256:70bf1840fd7c0d2d8ef0a42a817eb29f854c1af8f7c59fc03ac7bdee9545aff8
各个参数说明:
-m:提交的描述信息
-a:指定镜像作者
e218edb10161:容器ID
runoob/ubuntu:v2:指定要创建的目标镜像名
构建镜像
我们使用命令 docker build , 从零开始来创建一个新的镜像。为此,我们需要创建一个 Dockerfile 文件,
touch Dockerfile
vim Dockerfile然后将下面的命令写入Dockerfile
其中包含一组指令来告诉 Docker 如何构建我们的镜像。runoob@runoob:~$ cat 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