Lỗi cấp phát bộ nhớ Java bên trong bộ chứa Docker khi máy chủ đang chạy Alpine Linux


3

Tôi muốn chạy Jenkins trong Container nơi máy chủ của tôi đang chạy Alpine Linux.

Tôi có một vở kịch Ansible khởi động container Jenkins. Tuy nhiên, container thoát ra ngay khi nó bắt đầu. Tôi tin rằng vấn đề có liên quan đến việc khởi động container trên máy chủ của tôi chạy Alpine Linux.

- name: pull jenkins image
  docker_image:
    name: jenkins/jenkins
    tag: lts-alpine

- name: create jenkins container
  docker_container:
    name: jenkins
    image: "jenkins/jenkins:lts-alpine"
    state: started
    env:
      JAVA_OPTS: "-Xmx300m"
    memory: 500M
    kernel_memory: 500M
    ports:
      - 8080:8080
      - 50000:50000
    volumes:
      - jenkins:/var/jenkins_home:rw

Khi tôi chạy, docker ps -atôi có thể thấy rằng container docker đã thoát.

CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS                      PORTS                    NAMES
523f107cb861        jenkins/jenkins:lts-alpine   "/sbin/tini -- /usr/…"   28 seconds ago      Exited (1) 27 seconds ago                            jenkins

Tôi nhìn vào nhật ký docker logs jenkinsđể thấy java thất bại trong việc phân bổ bộ nhớ:

OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x000076cd5dda8000, 2555904, 1) failed; error='Operation not permitted' (errno=1)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 2555904 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /tmp/hs_err_pid7.log

Tôi đã cố gắng thiết lập bộ nhớ nhưng tôi nghĩ rằng nó có liên quan đến tôi khi chạy bộ chứa docker trong Alpine Linux. Container bắt đầu cục bộ trên OSX. Máy chủ của tôi có 15G miễn phí trong 16G.

Có một tùy chọn Java mà tôi đang thiếu hoặc một số thứ bị thiếu trong Playbook của tôi không?

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.