首页 > 解决方案 > 从 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://localhosthttp://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

请让我知道为什么它不起作用。非常感谢。

标签: dockernginxansible

解决方案


您不会8080在任何地方发布主机上的端口。尝试这个:

...
- name: Pull a container image
  docker_container:
    name: myngnix
    image: nginx
    pull: yes
    state: started
    published_ports:
      - 8080:80

推荐阅读