docker学习(四)docker run用法

目录

  • 前言
  • 一、参数列表
  • 二、使用示例


前言

docker run 命令用于创建一个新的容器,启动一个新的进程,并为这个进程分配其独占的文件系统、网络资源等。通过参数设置可以覆盖镜像和容器的一些默认配置。


一、参数列表

-a: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;

-d: 后台运行容器;

-i: 以交互模式运行容器,通常与 -t 同时使用,写作 -it;

-P: 随机端口映射,容器内部端口随机映射到主机的端口;

-p: 指定端口映射,格式为:宿主机端口:容器端口;

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

--name=: 为容器指定一个名称;

--dns: 指定容器使用的DNS服务器,默认和宿主一致;

--dns-search: 指定容器DNS搜索域名,默认和宿主一致;

-h: 指定容器的hostname;

-e: 设置环境变量;

--env-file=[]: 从指定文件读入环境变量;

--cpus=0.000 :CPU的数量,Number是一个小数,0.000 表示没有限制;

--cpuset-cpus=""	允许执行的CPU;

--cpuset-mems=""	允许执行的内存节点,仅对NUMA系统有效;

-m :设置容器使用内存最大值;

--net: 指定容器的网络连接类型,支持bridge/host/none/container四种类型;

--link=[]: 添加链接到另一个容器;

--expose=[]: 开放一个端口或一组端口;

--volume , -v: 绑定一个卷;

--restart:重启策略,支持no/on-failure[:max-retries]/always/unless-stopped。

二、使用示例

首先下载nginx镜像

docker pull nginx

1、后台运行

docker run -d nginx:latest

2、指定名字运行

docker run --name=nginx-name -d nginx:latest

3、端口映射

docker run --name=nginx-port -d -p 8888:80 nginx:latest

将nginx的80端口映射到宿主机的8888端口上,访问宿主机的8888端口就可以看到nginx的主页

4、设置环境变量

docker run --name=nginx-env -d -e type=master nginx:latest

将环境变量type设置为master

5、cpu限制

限制使用两个cpu,限制使用cpu0,cpu1,cpu2

docker run --name nginx-cpu2 --cpus=2 --cpuset-cpus="0-2"  -d nginx:latest

6、memeory限制

限制使用500m内存

docker run --name nginx-mem -m 500m  -d nginx:latest

7、挂载卷

将宿主机上的 /tmp/data挂载到容器的/home/data,实现数据的共享和持久化。

docker run --name nginx-volume -v /tmp/data:/home/data  -d nginx:latest

8、重启策略

将重启策略设置为always

docker run --name=nginx-restart --restart=always -d nginx:latest

你可能感兴趣的:(docker,docker)