【Docker 系列】docker 学习 三,docker 初步实战和 docker 可视化管理工具试炼

简介: 使用 Dcoker 部署 nginx

【Docker 系列】docker 学习 三

使用 Dcoker 部署 nginx

搜索 nginx 镜像

  • 使用 docker search nginx

shell

复制代码

# docker search nginxNAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATEDnginx                             Official build of Nginx.                        15246     [OK]jwilder/nginx-proxy               Automated Nginx reverse proxy for docker con…   2053                 [OK]richarvey/nginx-php-fpm           Container running Nginx + PHP-FPM capable of…   815                  [OK]...
  • 或者在 dockerhub  上搜索 nginx,具体的版本和详细信息会更加全面,一般使用官方的

image.png

拉取 nginx 镜像

拉取 nginx 镜像,我们这里就拉取最新版本的 nginx

shell

复制代码

# docker pull nginx
Using default tag: latest       # 最新版本
latest: Pulling from library/nginx    # nginx 库
33847f680f63: Pull complete       #分层下载,后续会详细学习分层的原理
dbb907d5159d: Pull complete
8a268f30c42a: Pull complete
b10cf527a02d: Pull complete
c90b090c213b: Pull complete
1f41b2f2bf94: Pull complete
Digest: sha256:8f335768880da6baf72b70c701002b45f4932acae8d574dedfddaf967fc3ac90                   # 签名
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest      # nginx真实下载路径

创建并运行容器

  • 新建一个容器命名为 nginx1
  • nginx 默认端口是 80,将 docker 容器中的 80 端口映射程 主机中的 8888 端口
  • 设置后台运行 nginx 容器

shell

复制代码

# docker run -d --name nginx1 -p 8888:80 nginx
2772a40501571630fb6fc2305f41f7a409299c4d15595ba3dd654d73f2a5e7b6
# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                  NAMES
2772a4050157   nginx     "/docker-entrypoint.…"   2 seconds ago   Up 2 sec
onds   0.0.0.0:8888->80/tcp   nginx1

验证

使用 curl 命令,访问一下 主机的 8888 端口,查看是否访问 OK

# curl localhost:8888
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>

咱们也可以进入到 nginx docker 容器中,直接访问 80 端口

# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                  NAMES
2772a4050157   nginx     "/docker-entrypoint.…"   14 minutes ago   Up 14 minutes   0.0.0.0:8888->80/tcp   nginx1
进入 nginx1 的终端
# docker exec -it nginx1 /bin/bash
访问 80 端口
# curl localhost:80

小结

因为我们在创建 nginx1 容器的时候,将主机的 8888 端口,映射到了 容器 nginx1 的 80 端口,因此可以访问主机的 8888 端口来访问到 nginx1 容器中的 80 端口

image.png

此时,可以访问我的阿里云服务器的 8888 端口,实际是可以访问到我的 nginx1 容器中的 nginx 服务器

image.png

尝试使用和部署 可视化 Docker 页面 portainer

portainer 是 Docker 图形化页面管理工具,他提供了一个后台面板供我们操作和管理。

创建和启动 portainer


docker run -d -p 8888:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer

可选参数说明:

  • --restart

当容器退出的时候,重启策略是什么样的,这里使用 always ,默认值是 “no”

  • -v

绑定挂载卷

  • --privileged

给予这个容器扩展权限

  • -p 8888:9000

将容器里面的 9000 端口,映射到主机的 8888 端口,便于我们访问主机 8888 端口的时候,可以访问到 portainer 容器的 9000 端口

访问和设置 portainer 用户

浏览器访问:IP:8888

image.png

设置密码,点击 Create users 即可看到如下页面

image.png

解释一下上述画红线的地方:

  • 0  stacks

Stacks就是一组一致运行的、相互关联的services

  • 1 container

1个容器

  • 1 volume

1 个挂载卷

  • 3 images

3 个镜像

我们到主机上面查看 docker 的系统信息


docker info

image.png

进入到我们自己的 docker 服务,可以看到上述解释的每一个项

image.png

image.png

咱们点进 images 看看效果:

image.png

image.png

我们可以在这个 web 管理页面看到我们 docker 服务中 3 个镜像的详情,也可以对镜像进行删除,新建,导入和导出

感兴趣的话,可以自己多熟悉和尝试一下 portainer 的使用,以后我们做 CI/CD 的时候,会使用 Rancher

大家学习的时候,可以多多交流,多多练习,多多查看帮助文档,或者在命令行里面使用 –help 来查看都有哪些参数,例如:

docker run  --help

用法:  docker run [参数] 镜像 [命令] [命令的参数列表...]

Run a command in a new container

参数:

-a, --attach list                    Attach to STDIN, STDOUT or STDERR

-c, --cpu-shares int                 CPU shares (relative weight)

-d, --detach                         后台运行容器

-e, --env list                       设置环境变量

-h, --hostname string                Container host name

-i, --interactive                    Keep STDIN open even if not attached

-l, --label list                     Set meta data on a container

-m, --memory bytes                   内存限制

-p, --publish list                   Publish a container's port(s) to the host

-P, --publish-all                    Publish all exposed ports to random ports

-t, --tty                            Allocate a pseudo-TTY

-u, --user string                    用户名或者uid

-v, --volume list                    挂载卷

-w, --workdir string                 设置容器中的工作目录


欢迎点赞,关注,收藏

朋友们,你的支持和鼓励,是我坚持分享,提高质量的动力

image.png

好了,本次就到这里

技术是开放的,我们的心态,更应是开放的。拥抱变化,向阳而生,努力向前行。

我是阿兵云原生,欢迎点赞关注收藏,下次见~


相关文章
|
3月前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
3月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
578 5
|
7月前
|
运维 监控 数据可视化
容器化部署革命:Docker实战指南
容器化部署革命:Docker实战指南
|
4月前
|
关系型数据库 MySQL Linux
事项驱动的项目管理工具Dectask的Docker安装教程
Dectask是智能驱动的新一代项目协作工具,本人介绍其Docker安装教程。
140 2
|
6月前
|
供应链 测试技术 开发者
用 Docker 轻松部署 ERPNext 15:多场景实战指南
ERPNext 15 是一款功能全面的开源企业资源规划系统,结合 Docker 容器化部署,具备高效、灵活、低成本等优势。适用于小微企业数字化起步、多分支机构协同办公、开发者测试环境搭建、短期项目管理及企业内部培训等多种场景。模块化设计支持按需扩展,满足不同规模企业需求,是实现高效企业管理的理想选择。
用 Docker 轻松部署 ERPNext 15:多场景实战指南
|
6月前
|
NoSQL Redis Docker
使用Docker Compose工具进行容器编排的教程
以上就是使用Docker Compose进行容器编排的基础操作。这能帮你更有效地在本地或者在服务器上部署和管理多容器应用。
588 11
|
7月前
|
前端开发 数据安全/隐私保护 计算机视觉
MAZANOKE:一款隐私优先的浏览器图像优化工具及Docker部署指南
MAZANOKE 是一款简易的图片优化工具,它直接在浏览器中运行,支持离线使用,并确保您的图片始终保留在设备上,绝不外泄。 这款专为普通人设计的工具,适合与亲友分享使用,是那些来路不明的"免费"在线工具的可靠替代品。
264 1
MAZANOKE:一款隐私优先的浏览器图像优化工具及Docker部署指南
|
7月前
|
安全 Java Docker
Docker 部署 Java 应用实战指南与长尾优化方案
本文详细介绍了Docker容器化部署Java应用的最佳实践。首先阐述了采用多阶段构建和精简JRE的镜像优化技术,可将镜像体积减少60%。其次讲解了资源配置、健康检查、启动优化等容器化关键配置,并演示了Spring Boot微服务的多模块构建与Docker Compose编排方案。最后深入探讨了Kubernetes生产部署、监控日志集成、灰度发布策略以及性能调优和安全加固措施,为Java应用的容器化部署提供了完整的解决方案指南。文章还包含大量可落地的代码示例,涵盖从基础到高级的生产环境实践。
420 3