uncategorized

Docker 基本命令

首先,让我们通过下面的命令来检查Docker的安装是否正确:

1
~$ docker info

如果没有找到这条命令,则表示Docker安装错误。

到这一步Docker里还没有镜像或是容器。所以,让我们通过使用命令预先构建的镜像来创建来一个:

1
~$ docker pull ubuntu

下一步我们将运行一个“Hello World”的例子,我们暂且叫它“Hello Docker”吧。

1
2
~$ docker run ubuntu /bin/echo Hello Docker
Hello Docker

现在,让我们以后台进程的方式运行hello docker:

1
2
3
4
5
~$ sample_job=$(docker run -d ubuntu /bin/sh -c "while true; do echo Docker; sleep 1; done")
~$ docker logs $sample_job
Docker
Docker
Docker

sample_job命令会隔一秒打印一次Docker,使用docker logs可以查看输出的结果。如果没有给这个job起名字,那这个job就会被分配一个id,以后使用命令例如docker logs查看日志就会变得比较麻烦。

所有Docker命令可以用以下命令查看:

1
2
~$ docker --help
~$ docker run --help

名为sample_job的容器,可以使用以下命令来停止:

1
~$ docker stop $sample_job

使用以下命令可以重新启动该容器:

1
~$ docker restart $sample_job

如果要完全移除容器,需要先将该容器停止,然后才能移除。像这样:

1
2
~$ docker stop $sample_job
~$ docker rm $sample_job

将容器的状态保存为镜像,使用以下命令:

1
~$ docker commit $sample_job joooob

注意,镜像名称只能取字符[a-z]和数字[0-9]。

现在,你就可以使用以下命令查看所有镜像的列表:

1
~$ docker images

在registry中的镜像可以使用以下命令查找到:

1
~$ docker search (image-name)

查看镜像的历史版本可以执行以下命令:

1
~$ docker history (user)/(repo-name)

最后,使用以下命令将镜像推送到registry:

1
~$ docker push (user)/(repo-name)

非常重要的一点是,我们必须要知道存储库不是根存储库,它应该使用此格式(user)/(repo_name)。