Docker介绍(五)--Docker 容器的使用

目录

1. 启动容器

基本格式

示例

2. 查看容器状态

示例

3. 停止容器

示例

4. 重启容器

示例

5. 删除容器

示例

6. 连接到容器

示例

7. 查看容器的日志

示例

8. 管理容器的文件系统

示例

9. 管理容器的网络

映射端口

创建自定义网络

10. 使用 Docker Compose

创建 docker-compose.yml 文件

启动服务

停止服务

11. 使用 Docker 文件系统

创建卷

将卷挂载到容器

12. 管理容器的环境变量

13. 使用 Dockerfile 自定义镜像

示例 Dockerfile

构建镜像

运行自定义镜像

总结


 

Docker 容器是一种轻量级的虚拟化技术,允许你将应用程序及其依赖项打包在一起,形成一个独立的、可移植的单元。下面将详细介绍 Docker 容器的使用方法,包括容器的启动、停止、管理等基本操作。

1. 启动容器

启动容器通常使用 docker run 命令,它可以创建并启动一个新的容器。

基本格式

 

bash

深色版本

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

示例

  • 启动一个交互式的 bash shell

     
    bash

    深色版本

    1docker run -it ubuntu:latest /bin/bash

    这里 -i 表示保持 STDIN 打开,-t 表示分配一个伪 tty。

  • 启动一个 Nginx 服务器

     
    bash

    深色版本

    1docker run -d --name mynginx nginx:latest

    这里 -d 表示在后台运行容器,--name 指定容器的名称。

  • 启动并映射端口

     
    bash

    深色版本

    1docker run -d --name mynginx -p 8080:80 nginx:latest

    这里 -p 用于指定端口映射,格式为 host_port:container_port

2. 查看容器状态

使用 docker ps 命令来查看正在运行的容器列表。

示例

 

bash

深色版本

1docker ps

要查看所有容器(包括已停止的),可以使用:

 

bash

深色版本

1docker ps -a

3. 停止容器

使用 docker stop 命令来停止一个或多个容器。

示例

 

bash

深色版本

1docker stop mynginx

如果容器没有响应 stop 命令,可以使用 docker kill 强制停止容器:

 

bash

深色版本

1docker kill mynginx

4. 重启容器

使用 docker restart 命令来重启容器。

示例

 

bash

深色版本

1docker restart mynginx

5. 删除容器

使用 docker rm 命令来删除一个或多个容器。

示例

 

bash

深色版本

1docker rm mynginx

要删除所有已停止的容器,可以使用:

 

bash

深色版本

1docker rm $(docker ps -a -q)

6. 连接到容器

使用 docker exec 命令可以连接到一个正在运行的容器。

示例

 

bash

深色版本

1docker exec -it mynginx /bin/bash

这里 -i-t 选项使得容器的 shell 保持打开状态,并分配一个伪 tty。

7. 查看容器的日志

使用 docker logs 命令查看容器的日志。

示例

 

bash

深色版本

1docker logs mynginx

可以使用 -f 选项来跟踪日志输出:

 

bash

深色版本

1docker logs -f mynginx

8. 管理容器的文件系统

使用 docker cp 命令可以将文件从主机复制到容器,或者从容器复制到主机。

示例

将主机上的文件复制到容器:

 

bash

深色版本

1docker cp path/to/file mynginx:/path/in/container

将容器内的文件复制到主机:

 

bash

深色版本

1docker cp mynginx:/path/in/container path/to/local/directory

9. 管理容器的网络

映射端口

使用 -p 选项来映射容器的端口到主机的端口:

 

bash

深色版本

1docker run -d --name mynginx -p 8080:80 nginx:latest

创建自定义网络

使用 docker network create 命令来创建自定义网络:

 

bash

深色版本

1docker network create mynetwork

然后将容器连接到网络:

 

bash

深色版本

1docker run -d --name mynginx --network mynetwork nginx:latest

10. 使用 Docker Compose

Docker Compose 用于定义和运行多容器 Docker 应用程序。

创建 docker-compose.yml 文件

 

yaml

深色版本

1version: '3'
2services:
3  web:
4    image: nginx:latest
5    ports:
6      - "8080:80"

启动服务

 

bash

深色版本

1docker-compose up -d

停止服务

 

bash

深色版本

1docker-compose down

11. 使用 Docker 文件系统

Docker 容器的文件系统通常是临时的,但你可以使用卷来持久化数据。

创建卷

 

bash

深色版本

1docker volume create mydata

将卷挂载到容器

 

bash

深色版本

1docker run -d --name mydb -v mydata:/var/lib/mysql mysql:latest

12. 管理容器的环境变量

可以使用 -e 选项来设置容器的环境变量:

 

bash

深色版本

1docker run -d --name myapp -e MY_VAR=my_value myimage

13. 使用 Dockerfile 自定义镜像

如果你需要自定义镜像,可以创建一个 Dockerfile。

示例 Dockerfile

 

dockerfile

深色版本

1FROM ubuntu:latest
2WORKDIR /app
3COPY . .
4CMD ["echo", "Hello from Docker!"]

构建镜像

 

bash

深色版本

1docker build -t my-custom-image .

运行自定义镜像

 

bash

深色版本

1docker run my-custom-image

总结

通过上述示例,你应该能够熟悉 Docker 容器的基本使用方法。Docker 容器提供了一种方便的方式来部署和管理应用程序及其依赖关系,使得应用程序可以在任何环境中一致地运行。希望这些示例能帮助你更好地理解和使用 Docker 容器。随着实践的深入,你可以探索更多高级特性,如网络配置、健康检查、自定义日志驱动等。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值