docker 入门
时间: 2025-05-25 16:10:35 AIGC 浏览: 22
### Docker 入门教程
Docker 是一种容器化技术,允许开发者创建、部署和运行分布式应用程序。它通过轻量级的虚拟化方式隔离应用及其依赖环境,从而实现跨平台一致性。
#### 什么是 Docker?
Docker 提供了一种标准化的方式来打包应用程序及其所有依赖项到一个可移植的容器中[^1]。这种容器可以在任何支持 Docker 的环境中运行,而无需担心底层系统的差异。
#### 安装 Docker
安装 Docker 需要根据操作系统版本选择合适的安装方法。对于 Linux 用户来说,可以通过包管理器完成安装;而对于 Windows 和 macOS,则可以下载官方提供的桌面版客户端[^2]。
#### 基本命令操作
- **查看 Docker 版本**: `docker version` 可用于确认当前使用的 Docker 版本信息。
- **启动服务**: 如果遇到问题或者需要重新加载配置文件时,可以用 `systemctl restart docker` 来重启 Docker 服务[^2]。
- **查询正在运行中的容器列表**: 使用 `docker ps` 能够快速了解哪些容器处于活动状态[^2]。
#### 创建并运行第一个容器实例
假设我们想要基于官方 Tomcat 镜像来启动一个新的 Web 应用程序服务器:
```bash
docker pull tomcat:latest
docker run -d -p 8080:8080 --name mytomcat tomcat:latest
```
这里 `-d` 参数表示以后台模式运行该进程,同时将主机端口映射至容器内部指定的服务监听地址上[^1]。
#### 构建自定义镜像
当标准库无法满足特定需求时,就需要自己编写 Dockerfile 文件来自动生成定制化的镜像资源了。下面是一个简单的例子展示如何扩展 Ubuntu 系统以包含额外软件组件:
```Dockerfile
FROM ubuntu
RUN apt-get update && apt-get install -y curl git python3-pip
CMD ["bash"]
```
构建完成后可通过如下指令生成新镜像对象,并赋予其唯一标签以便后续引用调用[^3]:
```bash
docker build -t custom/ubuntu .
docker images
```
#### 数据持久化与网络设置
为了使数据不会因为容器销毁而丢失,通常会挂载本地目录作为存储卷的一部分参与其中。另外,在复杂场景下还需要考虑多个微服务之间相互通讯的需求,这时就可以利用用户定义桥接网路来进行连接规划[^4]:
##### 自定义 Redis 主从复制架构案例
主节点初始化脚本片段如下所示:
```bash
docker run -d \
-v /path/to/master-data:/bitnami/redis/data \
-e ALLOW_EMPTY_PASSWORD=yes \
-e REDIS_REPLICATION_MODE=master \
--network redis-net \
--name redis-master \
bitnami/redis:latest
```
同样地,也可以按照类似的方式去搭建附属副本节点并与前者建立关联关系.
##### MySQL 单机数据库示例
如果计划在一个独立进程中托管 SQL Server 实例的话,那么只需要简单执行以下几行代码即可达成目标效果:
```bash
docker run -d \
-p 3306:3306 \
-v ~/mysql-conf.d:/etc/mysql/conf.d \
-v ~/mysql-data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
mysql:tag
```
---
阅读全文
相关推荐







