Запустить html-страницу в docker nginx через Ansible
Мне нужно запустить статическую html страницу в docker образе nginx, выполняя через Ansible.
Несколько дней вожусь с ошибкой, перепробовала такие варианты:
command: docker run -p 8080:80 --rm html-web-app bash,
command: docker run --name some-nginx -v html-web-app -d nginx,
command: docker run --name html-web-app some/content:https://bitbucket.org/rrr/html-web-app/src/master/index.html
Плейбук:
- hosts: localhost
become: yes
tasks:
- name: Clone a repository from Bitbucket
git:
repo: https://bitbucket.org/rrr/html-web-app/src/master/
dest: /app
clone: yes
- name: install Python
command: apt-get install -y python2
- name: Build a nginx Docker image
docker_image:
name: nginx
#build.path: /app
dockerfile: Dockerfile
- name: Create a Docker container
docker_container:
name: html-web-app
image: nginx
state: present
- name: Expand a container
command: docker run -p 8080:80 --rm html-web-app bash
- name: Get the main page (html)
get_url:
url: https://bitbucket.org/rrr/html-web-app/src/master/index.html
dest: /app
- name: Clean up all artifacts
file:
path: /app
state: absent
Dockerfile:
FROM node:alpine as builder
WORKDIR /app
COPY package.json package-lock.json ./
ENV CI=1
RUN npm ci
COPY . .
RUN npm run build -- --prod --output-path=/dist
FROM nginx:alpine
RUN rm -rf /usr/share/nginx/html/*
COPY --from=builder /dist html-web-app
COPY ./.nginx/nginx.conf /etc/nginx/nginx.conf
EXPOSE 80
CMD ["nginx-foreground"]
ENTRYPOINT ["nginx", "-g", "daemon off;"]
Ошибка при запуске плейбука:
fatal: [localhost]: FAILED! => {"changed": true, "cmd": ["docker", "run", "-p", "8080:80", "--rm", "html-web-app", "bash"], "delta": "0:00:10.123622", "end": "2023-03-08 16:58:17.655070", "msg": "non-zero return code", "rc": 125, "start": "2023-03-08 16:58:07.531448", "stderr": "Unable to find image 'html-web-app:latest' locally\ndocker: Error response from daemon: pull access denied for html-web-app, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.\nSee 'docker run --help'.", "stderr_lines": ["Unable to find image 'html-web-app:latest' locally", "docker: Error response from daemon: pull access denied for html-web-app, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.", "See 'docker run --help'."], "stdout": "", "stdout_lines": []}