如何使用Docker Run命令?

在使用Docker时,软件开发人员通常会使用’docker run’命令执行以下操作:
运行一个带有可选名称的容器
在前台运行一个容器
在分离模式下运行一个容器
在交互模式下运行一个容器
向主机发布容器端口
在容器和主机之间共享数据
一旦容器停止,就将其移走
1、Docker运行命令
该命令的语法:
docker run [options] image-name [command] [arg…]
为了运行docker容器,您可以简单地运行以下命令,假设您已经安装了docker:
docker run image-name
其中:
image-name可以是你本地机器上的docker镜像,也可以从Docker Hub和Quay.io等在线注册表中提取。
在下面的例子中,你将从位于Docker Hub上的公共镜像 "hello-world "中运行一个容器。
$ sudo docker run hello-world
在这里插入图片描述

第一次运行容器时,Docker守护进程会从Docker Hub中提取镜像 “hello-world”。然后,它将根据该镜像创建一个新容器,并将输出传输到你的终端。从现在开始,镜像被下载到你的本地机器。您可以通过运行以下命令列出所有docker映像:
$ sudo docker image ls
输出:
在这里插入图片描述

下次运行该镜像时,比第一次运行快,可以用image-id代替镜像名称。例如:
$ sudo docker run bf756fb1ae65
在这里插入图片描述

注意:从Docker 1.13版本开始,由于其发行版的新语法,我们使用“docker container run”而不是“ docker run”。
建议在docker run命令前添加sudo或其他不使用sudo的解决方法。
2、使用定义的名称运行容器
当您使用基本语法“docker container run”运行容器时,Docker将为每个容器随机生成一个名称,如下所示:
$ sudo docker container ls -a
输出:
在这里插入图片描述

如果要为容器显式分配名称,请使用以下语法运行命令:
$ docker container run --name container-name image-name
例如:
$ sudo docker container run --name hello-linoxide hello-world
输出:
在这里插入图片描述

3、在前台运行容器
当我们使用docker容器时,有两种运行它们的模式:附加模式和分离模式。
默认情况下,Docker在前台运行容器。这意味着容器进程将附加到终端会话并显示输出。如果容器仍在运行,它将不会返回命令提示符。
例如:
在这里插入图片描述

在分离模式下运行容器
如果要在后台进程(分离模式)中运行该容器,请使用以下-d选项:
在这里插入图片描述

以交互方式运行容器
Docker支持以交互模式运行容器。借助此功能,您可以在带有外壳的容器内执行命令。
使用-it“/bin/bash”或“/bin/sh”后面的选项启动交互模式,例如:
在这里插入图片描述

4、容器的端口转发
默认情况下,为了访问在容器内运行的进程,您必须进入其中。如果要从外部访问它,请打开一个端口。通过发布端口,可以使用以下-p选项将容器端口映射到主机上的端口:
$ dock container run -p host-port:container-port image
例如,要将容器nginx的端口80映射到主机上的端口8080,请运行:
$ sudo docker container run -d -p 8080:80 nginx
cd85a291dab1ff92fa2ee6275446f758baa8322de2b706f7b581a54825142c5b
现在,让我们使用“curl”从本地主机检索内容:8080
$ curl localhost:8080
5、容器的安装体积
容器中的数据是临时的,停止容器后该数据将不再存在。如果要持久地将数据保留在容器中,则必须将其装入到共享存储卷。
让我们使用以下-v选项来装载卷:
$ docker container run -v host-machine-location:container-storage image
例如,让我们将主机上的“ share-data”目录挂载到容器的“ /home”中:
$ mkdir share-data/
$ echo “Hello linoxide readers” > share-data/test.txt
$ sudo docker container run -it -v $(pwd)/share-data:/home alpine
输出:
/ # ls /home/
test.txt
/ # cat /home/test.txt
Hello linoxide readers
6、容器一旦停止,就将其移走
默认情况下,当容器停止时,其文件系统仍保留在主机上。他们消耗大量存储空间。如果要在退出后自动删除容器,请使用–rm选项:
$ docker container run --rm image
例如,运行不带–rm选项的Docker容器:
$ sudo docker container run ubuntu
$ sudo docker container ls -a
在这里插入图片描述

当使用–rm选项时,一个停止的容器将被自动删除。
$ sudo docker container run --rm ubuntu
$ sudo docker container ls -a
在这里插入图片描述

Docker是一个开源平台,使软件开发人员能够构建,部署和管理容器化的应用程序。对于任何开发人员,尤其是DevOps工程师,Docker都是一个非常强大的工具。掌握使用“ docker container run”命令的方式是发现Docker功能的关键。A5互联https://www.a5idc.net/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值