牛下载:绿色软件官方软件免费下载基地!
所在位置:首页 > 新闻资讯 > Docker使用示例(1) – 创建容器

Docker使用示例(1) – 创建容器

发布时间:2020-03-23 17:50:40来源:阅读:

容器运行后自动删除



一般情况下,退出一个Docker容器后它仍然会存在。这允许你再次运行容器,查看其文件系统等。不过,有时候你可能想运行容器后马上自动删除。例如想执行一个命令或者查看一个文件。Docker为此提供了一个–rm命令行参数来实现它。

docker run --rm ubuntu cat /etc/hosts

这会从ubuntu镜像创建一个容器,显示/etc/hosts的内容,然后退出后立即销毁容器。
这避免了你只是想做下实验后再清理容器的麻烦。
注意:–rm选项在与-d(–detach)选项时失效。
当使用–rm选项时,Docker被删除后也会删除与之关系的volumes。这与执行docker rm -v my-container类似。只删除未命名的volumes。
例如,运行docker run -it –rm -v /etc -v logs:/var/log centos /bin/produce_some_logs,/etc数据卷会被删除,/var/log则不会。

容器重启策略


docker run --restart=always -d <container>

默认情况下,当Docker守护进程重启时(如主机系统重启),容器不会跟着重启。Docker为容器提供了一个重启策略,选项为–restart=always。使用此选项一旦Docker守护里程重启后,容器也会重启。
不过,如果是手动停止的容器(如docker stop ),重启策略则不会生效。

设置容器名称



默认下,使用docker run创建容器时会分配一个随机的名称,如small_roentgen或modest_dubinsky。这种名称对识别容器不会有任何帮助。我们可以通过–name选项来指定一个有意义的名称。

docker run --name my-ubuntu ubuntu:14.04

名称必须是唯一的。如果指定了一个与正在运行容器的名称一样,docker会报错并且不会创建任何容器。

后台运行容器



为了让容器在后台运行,我们可以在生成容器时使用-d选项。

docker run -d busybox top

给容器分配数据卷



Docker 数据卷(volume)其实是一个文件或者目录,它在容器生命周期结束后还会保留。我们可以挂载宿主机的一个文件或目录作为Docker的数据卷。
使用-v选项添加一个数据卷:

docker run -d -v "/data" awesome/app bootstrap.sh

这会创建一个数据卷并把它挂载到容器的/data目录。

挂载宿主目录

挂载宿主文件或目录到容器:

docker run -d -v "/home/foo/data:/data" awesome/app bootstrap.sh

这会把宿主的/home/foo/data目录挂载到容器里的/data目录。这个操作就会Linux的mount命令。因此这个挂载只存在于容器的生命周期。更改宿主/home/foo/data的文件会立即影响到容器的/data对应的文件里,因为它们是指向硬盘上的同一个文件。

命名数据卷

可以在创建数据卷时指定一个名称,而不只是主机目录路径。

docker run -d -v "my-volume:/data" awesome/app bootstrap.sh

命名的数据卷创建后,可以通过此名称来与其它容器共享。

交互方式运行容器



使用-it选项来以交互方式运行容器。

$ docker run -it ubuntu:14.04 bash
root@8ef2356d919a:/# echo hi
hi
root@8ef2356d919a:/#

-i选项保持STDIN打开,而-t则分配一个伪TTY。

登录正在运行的容器



我们可以使用如下命令来登录正在运行的容器

docker exec -it jovial_morse bash
反对
收藏

应用推荐

  • 热门资讯
  • 最新资讯
  • 应用排行榜
  • 游戏排行榜