Skip to content

Commit aa7b608

Browse files
committed
revert: ⏪ revert dollar signal
1 parent d0b4220 commit aa7b608

File tree

1 file changed

+24
-24
lines changed

1 file changed

+24
-24
lines changed

docs/tools/docker.mdx

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,8 @@ docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
145145
比如:
146146

147147
```bash
148-
docker pull ubuntu:18.04
149-
docker pull eesast/thuai_server
148+
$ docker pull ubuntu:18.04
149+
$ docker pull eesast/thuai_server
150150
```
151151

152152
上面的命令中没有给出 Docker 镜像仓库地址,因此将会从 Docker Hub 获取镜像。第一条命令中镜像名称是 `ubuntu:18.04`,因此将会获取官方镜像 `library/ubuntu` 仓库中标签为 `18.04` 的镜像。第二条命令中镜像名称是`eesast/thuai_server`,因此会获取`eesast/thuai_server`仓库中最新的镜像。
@@ -202,15 +202,15 @@ ubuntu latest f753707788c5 4 weeks ago
202202
这类无标签镜像被称为 **虚悬镜像(dangling image)** ,一般来说,虚悬镜像已经失去了存在的价值,是可以随意删除的,可以用下面的命令删除。
203203

204204
```bash
205-
docker image prune
205+
$ docker image prune
206206
```
207207

208208
### 删除本地镜像
209209

210210
如果要删除本地的镜像,可以使用 `docker image rm` 命令,其格式为:
211211

212212
```bash
213-
docker image rm [选项] <镜像1> [<镜像2> ...]
213+
$ docker image rm [选项] <镜像1> [<镜像2> ...]
214214
```
215215

216216
#### 用 ID、镜像名、摘要删除镜像
@@ -233,13 +233,13 @@ nginx latest e43d811ce2f4 5 weeks ago
233233
比如这里,如果我们要删除 `redis:alpine` 镜像,可以执行:
234234

235235
```bash
236-
docker image rm 501
236+
$ docker image rm 501
237237
```
238238

239239
我们也可以用`镜像名`,也就是 `<仓库名>:<标签>`,来删除镜像。
240240

241241
```bash
242-
docker image rm centos
242+
$ docker image rm centos
243243
```
244244

245245
## 操作容器
@@ -446,7 +446,7 @@ trusting_newton
446446
`docker container ls -a` 命令可以查看所有已经创建的包括终止状态的容器,如果数量太多要一个个删除可能会很麻烦,用下面的命令可以清理掉所有处于终止状态的容器。
447447

448448
```bash
449-
docker container prune
449+
$ docker container prune
450450
```
451451

452452
## 访问仓库(略)
@@ -463,7 +463,7 @@ docker container prune
463463

464464
#### 注册
465465

466-
你可以在 <https://hub.docker.com> 免费注册一个 Docker 账号。
466+
你可以在 https://hub.docker.com 免费注册一个 Docker 账号。
467467

468468
#### 登录
469469

@@ -541,7 +541,7 @@ username/ubuntu
541541
#### 创建一个数据卷
542542

543543
```bash
544-
docker volume create my-vol
544+
$ docker volume create my-vol
545545
```
546546

547547
查看所有的 `数据卷`
@@ -586,7 +586,7 @@ $ docker run -d -P \
586586
在主机里使用以下命令可以查看 `web` 容器的信息
587587

588588
```bash
589-
docker inspect web
589+
$ docker inspect web
590590
```
591591

592592
`数据卷` 信息在 "Mounts" Key 下面
@@ -609,15 +609,15 @@ docker inspect web
609609
#### 删除数据卷
610610

611611
```bash
612-
docker volume rm my-vol
612+
$ docker volume rm my-vol
613613
```
614614

615615
`数据卷` 是被设计用来持久化数据的,它的生命周期独立于容器,Docker 不会在容器被删除后自动删除 `数据卷`,并且也不存在垃圾回收这样的机制来处理没有任何容器引用的 `数据卷`。如果需要在删除容器的同时移除数据卷。可以在删除容器的时候使用 `docker rm -v` 这个命令。
616616

617617
无主的数据卷可能会占据很多空间,要清理请使用以下命令
618618

619619
```bash
620-
docker volume prune
620+
$ docker volume prune
621621
```
622622

623623
### 挂载主机目录
@@ -706,7 +706,7 @@ $ docker logs -f nostalgic_morse
706706
使用 `hostPort:containerPort` 格式本地的 5000 端口映射到容器的 5000 端口,可以执行
707707

708708
```bash
709-
docker run -d -p 5000:5000 training/webapp python app.py
709+
$ docker run -d -p 5000:5000 training/webapp python app.py
710710
```
711711

712712
此时默认会绑定本地所有接口上的所有地址。
@@ -716,21 +716,21 @@ docker run -d -p 5000:5000 training/webapp python app.py
716716
可以使用 `ip:hostPort:containerPort` 格式指定映射使用一个特定地址,比如 localhost 地址 127.0.0.1
717717

718718
```bash
719-
docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py
719+
$ docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py
720720
```
721721

722722
#### 映射到指定地址的任意端口
723723

724724
使用 `ip::containerPort` 绑定 localhost 的任意端口到容器的 5000 端口,本地主机会自动分配一个端口。
725725

726726
```bash
727-
docker run -d -p 127.0.0.1::5000 training/webapp python app.py
727+
$ docker run -d -p 127.0.0.1::5000 training/webapp python app.py
728728
```
729729

730730
还可以使用 `udp` 标记来指定 `udp` 端口
731731

732732
```bash
733-
docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py
733+
$ docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py
734734
```
735735

736736
#### 查看映射端口配置
@@ -765,7 +765,7 @@ $ docker run -d \
765765
下面先创建一个新的 Docker 网络。
766766

767767
```bash
768-
docker network create -d bridge my-net
768+
$ docker network create -d bridge my-net
769769
```
770770

771771
`-d` 参数指定 Docker 网络类型,有 `bridge` `overlay` `host`。其中 `host`网络类型用于将端口直接暴露到宿主机的网络中,`overlay` 网络类型用于 `Swarm mode`,在本小节中你可以忽略它。
@@ -775,13 +775,13 @@ docker network create -d bridge my-net
775775
运行一个容器并连接到新建的 `my-net` 网络
776776

777777
```bash
778-
docker run -it --rm --name busybox1 --network my-net busybox sh
778+
$ docker run -it --rm --name busybox1 --network my-net busybox sh
779779
```
780780

781781
打开新的终端,再运行一个容器并加入到 `my-net` 网络
782782

783783
```bash
784-
docker run -it --rm --name busybox2 --network my-net busybox sh
784+
$ docker run -it --rm --name busybox2 --network my-net busybox sh
785785
```
786786

787787
再打开一个新的终端查看容器信息
@@ -835,9 +835,9 @@ Dockerfile 是一个文本文件,其内包含了一条条的 **指令(Instruct
835835
在一个空白目录中,建立一个文本文件,并命名为 `Dockerfile`
836836

837837
```bash
838-
mkdir mynginx
839-
cd mynginx
840-
touch Dockerfile
838+
$ mkdir mynginx
839+
$ cd mynginx
840+
$ touch Dockerfile
841841
```
842842

843843
其内容为:
@@ -1058,7 +1058,7 @@ docker: Error response from daemon: invalid header field value "oci runtime erro
10581058
那么如果我们希望加入 `-i` 这参数,我们就必须重新完整的输入这个命令:
10591059

10601060
```bash
1061-
docker run myip curl -s https://ip.cn -i
1061+
$ docker run myip curl -s https://ip.cn -i
10621062
```
10631063

10641064
这显然不是很好的解决方案,而使用 `ENTRYPOINT` 就可以解决这个问题。现在我们重新用 `ENTRYPOINT` 来实现这个镜像:
@@ -1268,7 +1268,7 @@ COPY ./package.json /app/
12681268

12691269
这并不是要复制执行 `docker build` 命令所在的目录下的 `package.json`,也不是复制 `Dockerfile` 所在目录下的 `package.json`,而是复制 **上下文(context)** 目录下的 `package.json`
12701270

1271-
因此,`COPY` 这类指令中的源文件的路径都是_相对路径_。这也是初学者经常会问的为什么 `COPY ../package.json /app` 或者 `COPY /opt/xxxx /app` 无法工作的原因,因为这些路径已经超出了上下文的范围,Docker 引擎无法获得这些位置的文件。如果真的需要那些文件,应该将它们复制到上下文目录中去。
1271+
因此,`COPY` 这类指令中的源文件的路径都是*相对路径*。这也是初学者经常会问的为什么 `COPY ../package.json /app` 或者 `COPY /opt/xxxx /app` 无法工作的原因,因为这些路径已经超出了上下文的范围,Docker 引擎无法获得这些位置的文件。如果真的需要那些文件,应该将它们复制到上下文目录中去。
12721272

12731273
现在就可以理解刚才的命令 `docker build -t nginx:v3 .` 中的这个 `.`,实际上是在指定上下文的目录,`docker build` 命令会将该目录下的内容打包交给 Docker 引擎以帮助构建镜像。
12741274

0 commit comments

Comments
 (0)