docker - 从 docker hub 拉出 nginx 后容器不工作
问题描述
我正在尝试从 Docker Hub 中提取图像并使用以下情节nginx
提要在本地运行它。Ansible
- hosts: local
connection: local
vars:
docker_info:
registry: registry.hub.docker.com
email: my@gmail.com
username: myusername
password: mypassword
tasks:
- name: log into docker hub registry
docker_login:
registry: "{{ docker_info.registry }}"
email: "{{ docker_info.email }}"
username: "{{ docker_info.username }}"
password: "{{ docker_info.password }}"
- name: Pull a container image
docker_container:
name: myngnix
image: nginx
pull: yes
state: started
Ansible 输出如下所示,表明它工作正常:
PLAY [local] *********************************************
TASK [Gathering Facts] ***********************************
ok: [127.0.0.1]
TASK [log into docker hub registry] **********************
ok: [127.0.0.1]
TASK [Pull a container image] ****************************
changed: [127.0.0.1]
PLAY RECAP ***********************************************
127.0.0.1 : ok=3 changed=1 unreachable=0 failed=0 skipped=0
之后,我浏览http://localhost
或http://localhost:8080
,它不起作用。但是当我在控制台中检查容器是否正在运行时,它显示它正在运行。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
22f16edfd1e8 nginx "nginx -g 'daemon of…" 9 minutes ago Up 9 minutes 80/tcp myngnix
请让我知道为什么它不起作用。非常感谢。
解决方案
您不会8080
在任何地方发布主机上的端口。尝试这个:
...
- name: Pull a container image
docker_container:
name: myngnix
image: nginx
pull: yes
state: started
published_ports:
- 8080:80
推荐阅读
- python-3.x - 如何使用flask python捕获URL中的当前域名
- php - 在 symfony 2 中发送登录名和密码到邮件
- google-api - 当最大失败尝试 = 0 时,使用 WSO2 身份服务器重新验证用户名和密码两次
- php - 在简单的 PHP 脚本中找不到类
- typescript - 打字稿:从对象分配成员
- python - 作为服务运行时可用的 Pystray 图标
- mysql - MySql 查询年度/月度报告
- c# - 为什么更新 OLEDB 查询不执行任何操作?
- javascript - 如何阻止我的函数修改传入的值?
- kubernetes - 自动下载 Kubernetes 的镜像