关于Docker的几点常识
最后更新于
最后更新于
为了方便小白,简单介绍下后面文章中会提到的几个概念:
在实际应用中我们会遇到不同容器之间需要进行网络通信。比如搭建nextcloud,可能需要mariadb、nextcloud、nginx三个容器一起运行,这时就需要将这三个容器分别绑定一个固定ip,不然重启电脑或者重启docker的时候因容器的启动顺序不同,会造成他们在容器内的ip改变,造成服务报错。
如果要给容器绑定固定ip,需要先创建网络(官方文档):
其中 --subnet
是ip/掩码位
格式,可以指定创建的网络的IP段,具体可以通过 IP地址在线计算器 了解。当然,也可以不指定这个参数,那么docker将默认分配一个IP段。
创建好虚拟网络之后,我们在部署镜像的时候就可以通过 --network
和 --ip
来给容器指定网络和IP。
当然,如果你已经安装了portainer的话。也可以直接通过web ui来创建网络
中文名称
英文
参数
介绍
镜像
image
可以理解为别人制作好的安装包
容器
container
通过 docker run
或 docker create
命令即可部署镜像,随之成为容器并运行在你的电脑上
卷
volume
-v
在部署镜像的时候通过 -v
来设置,即可把宿主机上的路径映射到容器内。也可以通过 docker volume create
来创建匿名卷存储相关的数据。
环境变量
environment
-e
即容器内的环境变量,在部署的时候通过 -e
来设置,容器内可以通过 env
查看。
端口
port
-p
可以将容器内的某个端口映射到宿主机上
网络
network
--network
可以将多个容器设置在同一个网络下,方便各个容器之间的网络通信,这样也不必要将每个端口都开放到宿主机上。如果要给容器绑定ip则必须要先创建网络才行。