一、docker--name的作用
1、命名容器
Docker --name
参数可以为容器命名,使容器启动时易于识别,便于管理。
$ docker run -d --name my-mysql mysql
$ docker ps --format "{{.Names}}: {{.Image}}"
my-mysql: mysql
2、更改容器名称
容器启动后,我们可以更改容器名称,使用 docker
的 rename
命令。
$ docker rename my-mysql new-mysql
$ docker ps --format "{{.Names}}: {{.Image}}"
new-mysql: mysql
3、快速查找容器
通过采用 docker--name
参数命名容器,可以更容易地在 Docker 环境中查找容器。
例如,可以使用以下命令,查找 Docker 环境中以特定名称命名的所有容器。
$ docker ps --filter "name=my-*" --format "{{.Names}}: {{.Image}}"
my-mysql: mysql
my-tomcat: tomcat
二、更多 docker--name 的用法
1、使用 docker-compose 文件
在使用 docker-compose
时,docker--name
参数可用于给服务命名。
以下是一个简单的 docker-compose.yml
文件的示例,其中对 web
和 db
服务使用 docker--name
参数进行命名。
version: '3.1'
services:
web:
container_name: web-service
image: nginx:latest
ports:
- 8080:80
restart: always
networks:
- web-network
db:
container_name: db-service
image: mysql:latest
environment:
MYSQL_DATABASE: myapp
MYSQL_USER: user
MYSQL_PASSWORD: secret
MYSQL_ROOT_PASSWORD: rootpasswd
restart: always
networks:
- web-network
networks:
web-network:
driver: bridge
2、使用 --link
参数
--link
参数可以用于将一个容器与另一个容器链接在一起。
以下是一个演示如何使用 docker--name
参数和 --link
参数来连接 MariaDB 和 WordPress 应用程序容器的示例。
$ docker run -d --name my-mariadb -e MYSQL_ROOT_PASSWORD=my-secret-pw mariadb
$ docker run -d --name my-wordpress --link my-mariadb:mysql -p 8080:80 wordpress
$ docker ps --format "{{.Names}}: {{.Image}}"
my-mariadb: mariadb
my-wordpress: wordpress
三、docker--name 的注意事项
1、docker--name 必须唯一
每个 Docker --name
参数都必须唯一,否则将无法启动容器。
2、命名规则
命名应使用字母、数字、下划线和连字符,不可以使用大写字母和特殊字符。
3、容器命名策略
在开发环境中,可以容器名字分配策略可以很随意。 为了避免具有相同容器名称的容器在部署中重叠或发生冲突,建议采用组织容器和服务的具有意义的命名方案。
四、总结
本文详细介绍了 docker--name
参数的作用、更多用法和注意事项,包括命名容器、更改容器名称、快速查找容器等,同时还讲解了 docker--name
参数在 docker-compose
、--link
参数中的应用以及容器命名策略的建议。