###質問
MacでVisualStudio Codeで開発をしています。
Docker Compose を使用して複数コンテナを起動させていまました。
Imageのまま利用していたコンテナにに追加でパッケージをインストールして使用することになり、
新しくDokcerfile
を作成して起動させたところこのコンテナだけ起動できなくなりました。
起動できないコンテナazure-crontainer
$ docker logs azure-crontainer standard_init_linux.go:185: exec user process caused "no such file or directory"
マウントしているymlなどの改行コードを確認しましたが、build前で同じでした。
解決方法や解析アプローチの方法をご教示いただけると助かります。
###周辺情報
コンテナの状態
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3dcf9634af1c dev_crontainer "crontainer --conf..." 3 minutes ago Restarting (1) 49 seconds ago azure-crontainer 4930173946e7 nginx:1.13.7-alpine "nginx -g 'daemon ..." 2 hours ago Up 2 hours 80/tcp dev_nginx_1 fb527a077d59 dev_laravel-env "/bin/sh -c '/usr/..." 2 hours ago Up 2 hours 9000/tcp, 0.0.0.0:19000->19000/tcp dev_laravel-env_1 0bbcbaa7370a jwilder/nginx-proxy:alpin "/app/docker-entry..." 3 hours ago Up 2 hours 80/tcp, 0.0.0.0:443->443/tcp nginx-proxy f70d3b69c089 mysql:5.7.20 "docker-entrypoint..." 3 hours ag Up 2 hours 0.0.0.0:3306->3306/tcp dev_mysql_1
正常起動ていたときのdocker-compose.yml
version: '2' services: mysql: image: mysql:5.7.20 volumes: - "./data/db:/var/lib/mysql" ports: - "3306:3306" restart: always environment: - MYSQL_ROOT_PASSWORD=secret - MYSQL_DATABASE=pj-dev - MYSQL_USER=root - MYSQL_PASSWORD=secret pj-dev-env: build: ./dockerfiles/ env_file: ./dockerfiles/config/etc/.env depends_on: - mysql volumes: - ".:/var/www/pj-dev" - "./dockerfiles/config/php/php-fpm.conf:/etc/php-fpm.conf" - "./dockerfiles/config/php/www.conf:/etc/php-fpm.d/www.conf" - "./dockerfiles/config/php/php.ini:/etc/php.d/php.ini" - "./dockerfiles/config/php/xdebug.ini:/etc/php.d/xdebug.ini" - "./dockerfiles/config/etc/supervisord.conf:/etc/supervisord.conf" ports: - "19000:19000" restart: always nginx: image: nginx:1.13.7-alpine environment: - VIRTUAL_HOST=cloud.localhost depends_on: - pj-dev-env volumes: - ".:/var/www/pj-dev" - "./dockerfiles/config/nginx/default.conf:/etc/nginx/conf.d/default.conf" restart: always proxy: image: jwilder/nginx-proxy:alpine container_name: nginx-proxy ports: - "443:443" volumes: - "./dockerfiles/config/proxy/certs:/etc/nginx/certs" - "/var/run/docker.sock:/tmp/docker.sock:ro" restart: always crontainer: image: microsoft/azure-cli container_name: azure-crontainer tty: true depends_on: - pj-dev-env volumes: - ".:/var/www/pj-dev" - "./dockerfiles/config/crontainer/crontainer.yml:/etc/crontainer.yml" - "./dockerfiles/config/crontainer/update_pfx.sh:/etc/update_pfx.sh" restart: always
起動しないときのdocker-compose.yml
version: '2' services: mysql: image: mysql:5.7.20 volumes: - "./data/db:/var/lib/mysql" ports: - "3306:3306" restart: always environment: - MYSQL_ROOT_PASSWORD=secret - MYSQL_DATABASE=pj-dev - MYSQL_USER=root - MYSQL_PASSWORD=secret pj-dev-env: build: ./dockerfiles/ env_file: ./dockerfiles/config/etc/.env depends_on: - mysql volumes: - ".:/var/www/pj-dev" - "./dockerfiles/config/php/php-fpm.conf:/etc/php-fpm.conf" - "./dockerfiles/config/php/www.conf:/etc/php-fpm.d/www.conf" - "./dockerfiles/config/php/php.ini:/etc/php.d/php.ini" - "./dockerfiles/config/php/xdebug.ini:/etc/php.d/xdebug.ini" - "./dockerfiles/config/etc/supervisord.conf:/etc/supervisord.conf" ports: - "19000:19000" restart: always nginx: image: nginx:1.13.7-alpine environment: - VIRTUAL_HOST=cloud.localhost depends_on: - pj-dev-env volumes: - ".:/var/www/pj-dev" - "./dockerfiles/config/nginx/default.conf:/etc/nginx/conf.d/default.conf" restart: always crontainer: build: ./dockerfiles/crontainer/ container_name: azure-crontainer tty: true depends_on: - pj-dev-env volumes: - ".:/var/www/pj-dev" - "./dockerfiles/config/crontainer/crontainer.yml:/etc/crontainer.yml" - "./dockerfiles/config/crontainer/update_pfx.sh:/etc/update_pfx.sh" restart: always
新しくbuildするために追加したDockerfile
FROM microsoft/azure-cli ARG CRONTAINER_VERSION=0.3.1 # Enable crontainer COPY /config/crontainer/crontainer.yml /etc/crontainer.yml COPY /config/crontainer/update_pfx.sh /etc/update_pfx.sh RUN apk add --no-cache --update curl \ && curl -L -o /usr/local/bin/crontainer "https://github.com/neckhair/crontainer/releases/download/${CRONTAINER_VERSION}/crontainer-linux-386" \ && chmod +x /usr/local/bin/crontainer ENTRYPOINT ["crontainer"] CMD ["--config", "/etc/crontainer.yml"]
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/23 06:46