1.docker安装
作为具有权限的用户登录到您的Ubuntusudo安装。
验证您是否已curl安装。
$whichcurl
如果curl未安装,请在更新您的经理后安装:
$ sudo apt-getupdate$ sudo apt-getinstallcurl
获取最新的Docker包。
$ curl -fsSLhttps://get.docker.com/| sh
系统提示您sudo输入密码。然后,它下载并安装Docker及其依赖项。
注意:如果您的公司位于过滤代理之后,您可能会发现apt-key 在安装过程中Docker repo 的 命令失败。要解决此问题,请使用以下方法直接添加密钥:
$ curl -fsSL https://get.docker.com/gpg | sudo apt-key add -
2.验证安装
打开一个命令行终端,并运行一些Docker命令来验证Docker是否正常工作。
尝试一些好的命令是docker version检查您是否安装了最新版本,docker ps并查看是否有任何正在运行的容器。(可能不是,因为你刚开始。)
运行镜像
docker run hello-world
显示本地所有镜像
运行docker ps -a以显示系统上的所有容器。
$ docker ps-aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES592376ff3eb8 hello-world"/hello"25 seconds ago Exited (0) 24 seconds ago prickly_wozniak
docker run hello-world命令。你跑的命令有三个部分
获取docker镜像
1.打开浏览器并浏览Docker Store查看鲸鱼图像
2可以直接使用 入docker run docker/whalesay cowsay boo运行镜像,如本地没有该镜像,系统自动去网络下载。
3.新建自己的镜像
编写一个Dockerfile
mkdir mydockerbuild此目录将包含构建您的图像所需的所有内容。现在,它是空的。更改到您的新目录。$ cd mydockerbuil
新建文件内容为:
FROM docker/whalesay:latest #该FROM关键字告诉Docker您的图像基于哪个图像。Whalesay很可爱,已经有cowsay程序,所以我们从那里开始
RUN apt-get -y update && apt-get install -y fortunes #该whalesay图像基于Ubuntu,它用于apt-get安装软件包。这两个命令刷新可用于映像的包的列表,并将fortunes程序安装到它中
CMD /usr/games/fortune -a | cowsay #添加一个CMD语句,它告诉图像在其环境设置后运行的最终命令。此命令运行fortune -a并将其输出发送到cowsay命令
$ docker build -t docker-whale .
当您在mydockerbuild目录中时,使用docker build命令构建映像 。该-t参数为您的图像提供了一个标签,所以您可以稍后更容易地运行它。不要忘记.命令,它告诉 docker build命令查看当前目录下的一个文件 Dockerfile。
Docker检查以确保它具有构建所需的一切。这将生成此消息:Sending build context to Docker daemon 2.048 kB
Docker检查它是否已经在whalesay本地拥有图像,如果没有,则将其从Docker集线器拉出。在这种情况下,图像已在本地存在,因为您在之前的任务中拉取了该图像。这对应于FROM Dockerfile中的语句,并生成此消息:
Step 1 : FROM docker/whalesay:latest---> 6b362a9f73eb
在每个步骤结束时,打印一个ID。这是此步骤创建的图层的ID。Dockerfile中的每一行对应于图像中的一个图层。您的ID将不同。
Docker启动一个运行whalesay映像的临时容器(Running in下面的 行)。在临时容器中,Docker在Dockerfile中运行下一个命令,该RUN命令是安装 fortune命令的命令。这会产生很多行输出,就像你会看到你是否apt-get在Ubuntu主机上手动运行命令
docker images查看是否添加成功
docker run docker-whale运行指定镜像
在docker网站注册一个帐号
创建存储
从该页面,选择创建存储库。
输入存储库名称和简短描述。
确保repo的Visibility设置为Public。
完成后,您的表单应类似于以下内容:
行docker images以列出本地存储的图像
docker-whale在第三列中找到图像的图像ID 。在这个例子中,id是7d9495d03763,但是你的名字是不同的(当前,存储库显示docker-whale 没有命名空间的repo名称。您需要包括namespaceDocker Hub将其与您的帐户相关联。这namespace与您的Docker Hub帐户名称相同。下一步将命名空间添加到图像名称,如 YOUR_DOCKERHUB_NAME/docker-whale)
docker-whale使用docker tag命令和图像ID 标记图像
您键入的命令如下所示:
确保使用您自己的Docker Hub帐号名称。
$ docker tag 7d9495d03763 maryatdocker/docker-whale:latest
docker images再次运行以验证docker-whale图像是否已被标记
$ docker images
相同的图像ID实际上现在存在于两个不同的存储库中
在将映像推送到Docker Hub之前,需要使用docker login命令登录。该命令不带任何参数,但会提示您输入用户名和密码,如下所示:
$ docker login
Username: *****
Password: *****
Login Succeeded
使用该docker push命令将标记的图像推送到Docker Hub 。产生大量的输出,因为每个层都被单独推送。该输出在下面的示例中被截断。
$ docker push maryatdocker/docker-whale
显示出本地所有image
使用docker rmi 命令删除图像。您可以通过其ID或其名称来引用图像。由于他们分享一个ID,如果你想保留其中的一个,你需要通过名字引用另一个ID。对于此示例,使用ID删除它们。您的ID将与下面的ID不同。
$ docker rmi
当您使用docker run它时,会自动下载(拉出)本地尚未存在的图像,创建一个容器并启动它。使用以下命令拉取并运行docker-whale映像,替换Docker Hub用户名。
$ docker run yourusername/docker-whale