Bootstrap

Docker--命令docker run

Docker–Docker Registry(镜像仓库)

docker run

创建一个新的容器并运行容器;

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

常用选项参数:

  • -d: 后台运行容器,并返回容器 ID;
  • -i: 以交互模式运行容器,通常与 -t 同时使用;
  • -P: 随机端口映射,容器内部端口随机映射到主机的端口
  • -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  • –name=“nginx-lb”: 为容器指定一个名称;
  • -h “mars”: 指定容器的 hostname;
  • -e username=“ritchie”: 设置环境变量;
  • –cpuset-cpus=“0-2” or --cpuset-cpus=“0,1,2”: 绑定容器到指定 CPU 运行;
  • -m :设置容器使用内存最大值;
  • –network=“bridge”: 指定容器的网络连接类型;
  • –link=[]: 添加链接到另一个容器;
  • –volume , -v: 绑定一个卷
  • –rm :shell 退出的时候自动删除容器

详细见官方文档

运行一个centos7镜像的容器(参数 -it)

参数-i和-t共同使用,为-it

先拉取一个镜像:

docker pull centos:7

在这里插入图片描述
运行一个容器,并且通过bash进行交互:

docker run -it centos:7 bash

这是centos容器的hostname
在这里插入图片描述

宿主机的hostname:
在这里插入图片描述

查看容器的版本:

cat /etc/*release*/

在这里插入图片描述

运行nginx容器(参数-d)

docker run nginx:1.23.4

查得到它在运行:

在这里插入图片描述
由于是在前台运行,所以能通过exit进行退出;

后台运行,会返回一个id码出来:

docker run -d nginx:1.23.4

在这里插入图片描述
在这里插入图片描述

对参数-i、-t单独讲解

在这里插入图片描述
-i表示以交互方式运行容器
-t表示为容器重新分配一个伪输入终端

在这里插入图片描述
进入了centos容器,但没有一个终端界面;

输入指令 查看进程:
在这里插入图片描述
只运行-t的参数:
在这里插入图片描述
给出了伪终端界面,但输入指令没有反应;

所以我们经常将这两个参数一起使用;

参数-p

通过端口映射运行一个nginx容器

docker run -d -p 8081:80 nginx:1.23.4

nginx容器在后台运行,并且容器80端口映射到宿主机的8081端口上
在这里插入图片描述

通过在网页访问宿主机8081端口访问到容器nginx:
在这里插入图片描述

参数 -P

docker run -d -P  nginx:1.23.4

随机映射端口:
在这里插入图片描述
可以看到映射端口为32768;

宿主机查看对应端口:
在这里插入图片描述

由于存在随机性,所以我们一般不适用-P,而使用参数-p来指定对应端口

参数 --name

可以看到,通过命令 docker ps 查看,容器名字是随机的:
在这里插入图片描述
所以,可以通过选项 --name 来进行配置一个容器名:

docker run -d --name mynginx nginx:1.23.4

在这里插入图片描述

参数 -h

之前配置的容器查看hostname都是跟着随机ID命名的:
在这里插入图片描述
通过-h 选项可以配置一个hostname:

docker run -it -h 112233 centos:7 bash

在这里插入图片描述

参数 -e

设置容器的环境变量 :

docker run -it -h 112233 -e myenv=1122 centos:7 bash

通过命令 env 进行查看:

在这里插入图片描述

参数 --cpuset-cpus

绑定容器到指定cpu运行:

docker run -d --name mynginx1 --cpuset-cpus="0-1" nginx:1.23.4

在这里插入图片描述

参数 -m

docker stats

查看默认的给定内存为1.9G:
在这里插入图片描述
设置内存为500m:
在这里插入图片描述
在这里插入图片描述

参数 --link

开启 mycentos1 , mycentos2连接到mycentos1,然后ping一下:

docker run -it --name mycentos2 --link mycentos1:mywebsite1 centos:7 bash

在这里插入图片描述

参数 --rm

像我们之前退出的容器,仍然还存在着,只是暂停运行而已:

docker ps -a

在这里插入图片描述

设置参数–rm,退出时,会自动删除容器

docker run -it --name mycentos4 --rm centos:7 bash

退出容器后:
在这里插入图片描述

在这里插入图片描述

;