Docker--name详解

发布时间:2023-05-22

一、docker--name的作用

1、命名容器

Docker --name 参数可以为容器命名,使容器启动时易于识别,便于管理。

$ docker run -d --name my-mysql mysql
$ docker ps --format "{{.Names}}: {{.Image}}"
my-mysql: mysql

2、更改容器名称

容器启动后,我们可以更改容器名称,使用 dockerrename 命令。

$ 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 文件的示例,其中对 webdb 服务使用 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

--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 参数中的应用以及容器命名策略的建议。