Docker基础教程:常用命令与实战示例
需积分: 9 5 浏览量
更新于2024-08-07
收藏 5KB MD 举报
Docker 是一个流行的开源平台,它通过轻量级的虚拟化技术实现应用程序的容器化,使得开发者能够更方便地构建、部署和管理软件应用。在这个教程中,我们将深入探讨 Docker 的基本概念和常用命令。
### 1. Docker 常用命令
#### - `docker run` 命令
`docker run` 是最基础的命令,用于运行一个新的容器。例如:
```shell
docker run --name=resume-p3298:8090 -t resume:1.0
```
这里 `-t` 参数指定分配一个伪TTY,允许容器内交互式操作。`--name` 参数用于为容器指定一个唯一的名称,`-p` 参数用于映射宿主机的端口到容器内部的服务,如 `-p 8060:8060`。
#### - 打包镜像
使用 `docker build` 命令可以创建一个新的镜像,例如:
```shell
docker build -t blog:1.0 --rm=true .
```
`-t` 参数定义镜像名称和标签,`--rm` 表示构建完成后自动删除中间镜像。
#### - 镜像启动与内部权限
为了允许容器内部执行 Docker 命令,可以这样启动:
```shell
docker run --rm -it -d \
-p 19000:19000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
vcs-operation-service/bin/bash
```
这将挂载 Docker socket 和 Docker 客户端文件,提供容器内的容器操作权限。
#### - 进入容器
通过容器ID来执行 `docker exec` 命令,如:
```shell
docker exec -it 0e089ca0831b sh
```
这会打开一个 shell,让你在指定的容器中进行操作。
#### - 修改 MySQL 容器密码
要修改 MySQL 容器中的 root 密码,可以在容器启动时指定环境变量,或者先启动容器再执行 SQL:
```shell
# 启动时设置密码
docker run --name mysql-p3307:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:latest
# 或者先启动后设置
docker exec -it mysql-p3307 mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';"
```
注意这里使用了 `IDENTIFIED BY` 而不是 `PASSWORDEXPIRENEVER`,因为后者是 MySQL 5.7 版本之后的安全选项,需要区分不同的版本。
### 2. 实用链接
本文档还提供了两个实用资源链接:
- [yangyong4314/resume_sys](https://gitee.com/yyzone/resume_sys): 一个简历管理系统示例,展示了如何在 Docker 中搭建和使用。
- [啸傲应科/简历管理系统](http://gitee.com/xiaoao_yingke/resume_management_system): 另一个开源的简历管理系统,提供了 Docker 部署指南。
总结来说,这个 Docker 使用教程涵盖了从基础命令到高级操作,包括创建和运行容器、构建镜像、容器间的通信以及安全设置。熟练掌握这些命令和概念,将有助于你在 IT 开发和运维中更高效地利用 Docker。
2019-11-25 上传
2023-07-01 上传
qq_38209935
- 粉丝: 1
- 资源: 3
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录