mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-10 11:54:37 +00:00
Fix and update
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
## 启动容器
|
||||
|
||||
本节将详细介绍 Docker 容器的启动方式,包括新建启动和重新启动已停止的容器。
|
||||
|
||||
### 启动方式概述
|
||||
|
||||
启动容器有两种方式:
|
||||
@@ -12,6 +14,8 @@
|
||||
|
||||
#### 基本语法
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
docker run [选项] 镜像 [命令] [参数...]
|
||||
```
|
||||
@@ -97,47 +101,65 @@ root@af8bae53bdd3:/# exit # 退出容器
|
||||
|
||||
#### 端口映射
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
## 将容器的 80 端口映射到宿主机的 8080 端口
|
||||
|
||||
$ docker run -d -p 8080:80 nginx
|
||||
|
||||
## 随机映射端口
|
||||
|
||||
$ docker run -d -P nginx
|
||||
|
||||
## 只绑定到 localhost
|
||||
|
||||
$ docker run -d -p 127.0.0.1:8080:80 nginx
|
||||
```
|
||||
|
||||
#### 数据卷挂载
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
## 挂载命名卷
|
||||
|
||||
$ docker run -v mydata:/data nginx
|
||||
|
||||
## 挂载宿主机目录
|
||||
|
||||
$ docker run -v /host/path:/container/path nginx
|
||||
|
||||
## 只读挂载
|
||||
|
||||
$ docker run -v /host/path:/container/path:ro nginx
|
||||
```
|
||||
|
||||
#### 环境变量
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
## 设置单个环境变量
|
||||
|
||||
$ docker run -e MYSQL_ROOT_PASSWORD=secret mysql
|
||||
|
||||
## 从文件加载环境变量
|
||||
|
||||
$ docker run --env-file .env myapp
|
||||
```
|
||||
|
||||
#### 资源限制
|
||||
|
||||
运行以下命令:
|
||||
|
||||
```bash
|
||||
## 限制内存
|
||||
|
||||
$ docker run -m 512m nginx
|
||||
|
||||
## 限制 CPU
|
||||
|
||||
$ docker run --cpus=1.5 nginx
|
||||
```
|
||||
|
||||
@@ -147,14 +169,17 @@ $ docker run --cpus=1.5 nginx
|
||||
|
||||
```bash
|
||||
## 查看所有容器(包括已停止的)
|
||||
|
||||
$ docker ps -a
|
||||
CONTAINER ID IMAGE STATUS NAMES
|
||||
af8bae53bdd3 ubuntu Exited (0) 2 minutes ago myubuntu
|
||||
|
||||
## 重新启动
|
||||
|
||||
$ docker start myubuntu
|
||||
|
||||
## 启动并附加终端
|
||||
|
||||
$ docker start -ai myubuntu
|
||||
```
|
||||
|
||||
@@ -181,9 +206,11 @@ root@ba267838cc1b:/# ps
|
||||
|
||||
```bash
|
||||
## 这个容器会立即退出(echo 执行完就结束了)
|
||||
|
||||
$ docker run ubuntu echo "hello"
|
||||
|
||||
## 解决:使用能持续运行的命令
|
||||
|
||||
$ docker run -d nginx # nginx 是持续运行的服务
|
||||
```
|
||||
|
||||
@@ -195,9 +222,11 @@ $ docker run -d nginx # nginx 是持续运行的服务
|
||||
|
||||
```bash
|
||||
## 错误:没有 -p 参数,外部无法访问
|
||||
|
||||
$ docker run -d nginx
|
||||
|
||||
## 正确:映射端口
|
||||
|
||||
$ docker run -d -p 80:80 nginx
|
||||
```
|
||||
|
||||
@@ -207,6 +236,7 @@ $ docker run -d -p 80:80 nginx
|
||||
|
||||
```bash
|
||||
## 使用数据卷持久化
|
||||
|
||||
$ docker run -v mydata:/app/data myapp
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user