温馨提示×

如何在Ubuntu上运行多个Docker容器

小樊
58
2025-08-23 17:18:23
栏目: 智能运维

在Ubuntu上运行多个Docker容器非常简单。以下是详细步骤:

1. 安装Docker

首先,确保你已经在Ubuntu上安装了Docker。如果没有安装,可以按照以下步骤进行安装:

# 更新包索引 sudo apt update # 安装必要的包 sudo apt install apt-transport-https ca-certificates curl software-properties-common # 添加Docker的官方GPG密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # 添加Docker仓库 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" # 更新包索引 sudo apt update # 安装Docker CE sudo apt install docker-ce docker-ce-cli containerd.io # 启动Docker服务 sudo systemctl start docker # 设置Docker开机自启 sudo systemctl enable docker 

2. 运行第一个Docker容器

使用docker run命令来运行你的第一个容器。例如,运行一个简单的Nginx容器:

sudo docker run -d --name nginx-container -p 80:80 nginx 

这个命令会:

  • -d:以守护进程模式运行容器。
  • --name nginx-container:为容器指定一个名称。
  • -p 80:80:将主机的80端口映射到容器的80端口。
  • nginx:指定要运行的镜像。

3. 运行第二个Docker容器

你可以按照同样的方式运行第二个容器。例如,运行一个简单的Ubuntu容器:

sudo docker run -it --name ubuntu-container ubuntu /bin/bash 

这个命令会:

  • -it:交互模式运行容器,并分配一个伪终端。
  • --name ubuntu-container:为容器指定一个名称。
  • ubuntu:指定要运行的镜像。
  • /bin/bash:在容器启动后执行的命令。

4. 查看运行中的容器

你可以使用以下命令查看所有正在运行的容器:

sudo docker ps 

如果你想查看所有容器(包括停止的容器),可以使用:

sudo docker ps -a 

5. 停止和删除容器

如果你想停止一个正在运行的容器,可以使用:

sudo docker stop <container_name_or_id> 

例如,停止名为nginx-container的容器:

sudo docker stop nginx-container 

如果你想删除一个容器,可以使用:

sudo docker rm <container_name_or_id> 

例如,删除名为nginx-container的容器:

sudo docker rm nginx-container 

6. 管理多个容器

你可以使用Docker Compose来更方便地管理多个容器。首先,安装Docker Compose:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose 

然后,创建一个docker-compose.yml文件来定义你的服务:

version: '3' services: web: image: nginx ports: - "80:80" db: image: mysql environment: MYSQL_ROOT_PASSWORD: example 

最后,使用以下命令启动所有服务:

sudo docker-compose up -d 

这样,你就可以通过Docker Compose来管理多个容器了。

通过以上步骤,你可以在Ubuntu上轻松运行和管理多个Docker容器。

0