欢迎来到魔幻小生的博客

Docker使用教程(二)

Docker 批量操作

# 启动所有容器
docker start $(docker ps -a -q)
# 启动某个容器
docker start 容器名或ID
# 关闭所有容器
docker stop $(docker ps -q)
# 关闭某个容器
docker stop 容器名或ID
# 删除所有容器
docker rm $(docker ps -a -q)

Docker 端口映射

在很多场景下,我们的 Docker 容器内,要开放指定端口,以向外提供服务,这时,就需要我们配置 Docker 镜像的端口映射。
我们使用 -p 参数指定 Docker 的端口映射情况,Docker 执行端口映射命令如下:

# docker run -d -p 【物理机端口号】:【容器端口号】 【镜像名】
docker run -d -p 80:80 docker.io/httpd

image

可以看到,该容器正常运行,且进行了容器的80端口和本地设备的80端口的映射。
我们在本地尝试用浏览器访问,结果如下:

image

Docker 数据映射

Docker 的数据映射是将 Docker 容器的指定目录与本地设备的指定目录建立映射关系,Docker 容器相当于进行了该目录对本地目录的 mount 挂载。Docker 容器向该目录内写入数据就相当于向本地目录中写入数据。这样,就解决了 Docker 容器的数据存储问题,同时,由于数据存储在物理设备的目录上,因此即使 Docker 容器崩溃,Docker容器该目录的数据也不会丢失。

Docker 的数据映射使用 -v 参数来设定,Docker 执行数据映射命令如下:

# docker run -v 【物理机目录】:【容器目录】 【镜像名】
docker run -d -p 80:80 -v $PWD/www/:/usr/local/apache2/htdocs/ docker.io/httpd

在我们的本地的目录 $PWD/www/ 下写入一个 index.html 文件后,我们尝试访问 Docker 的 Apache 服务,结果如下所示:

<html>
        <head>
                <title>test</title>
        </head>
        <body>
                Hello World!
        </body>
</html>

image

Docker 命名与重命名

如果运行容器时未命名,docker 会为容器随机起一个名称。

image

如果我们希望能够根据应用场景,为 Docker 容器指定名称。这时,我们就需要使用 –-name 参数了。例如,执行命令:

# docker run --name 【容器自定义名称】 【镜像名】
docker run -d --name PzzDocker docker.io/httpd

image

有时,我们还需要为已经创建的 Docker 重新命名,此时,我们就需要使用 docker rename命令:

# docker rename 【原容器名称/容器ID】 【新的容器名称】
docker rename PzzDocker NewDocker

image

Docker 暂停与取消

# 暂停
docker pause 【容器ID】
# 取消暂停
docker unpause 【容器ID】

使用 docker pause 命令挂起指定容器中的所有进程,而使用 docker stop 容器内主进程会在指定时间内被杀死,默认为10s。

posted @ 2023-05-04 18:02  魔幻小生  阅读(40)  评论(0编辑  收藏  举报