Error with ekito/cron job tutorial - docker

I think my error is so obvious, that I cannot see it at all.
I am trying to start a container described in: Ekito example
I have copied/generated the contab and the dockerfile linke described and tried to run
sudo docker build --rm -t ekito/cron-example
But I get following error:
Can somebody tell me what I did wrong?

Remove --rm option from docker build command.
--rm is an option for docker run

Related

Dockerfile exists but Docker says it can't locate

I don't see why docker doesn't build my Dockerfile. The Dockerfile is present but is complaining it can't locate it. What am I missing here? I'm at my wits end right now.
Dockerfile is present, unless my eyes are playing tricks on me. I think it's spelled correctly too.
$ ls
Dockerfile pct runme.sh
$
Error message I'm getting when running docker build
$ cat /tmp/context.tar | docker build -f Dockerfile -t iii -
Sending build context to Docker daemon 665.6kB
Error response from daemon: Cannot locate specified Dockerfile: Dockerfile
$
So after playing with the docker build command, I got it working. I don't know how/why the person catted the tar file and then piped it to docker build but it worked for them but not for me.
The command that worked for me was:
$ docker build -f Dockerfile my_dir/ -t image_name

docker in docker via bind mound - ubuntu

I need to have an ubuntu image and then run a build process using that image. All is well until the build gets to the point of doing docker build etc.
Lets say I use the following to test this:
Dockerfile
FROM ubuntu:latest
I then build that - docker build -t ubuntudkr .
Next, I run it like:
docker run -ti -v /var/run/docker.sock:/var/run/docker.sock ubuntudkr
When I then run docker ps inside this container, I get the error bash: docker: command not found
All the examples I've found says I need to run:
docker run -v /var/run/docker.sock:/var/run/docker.sock \
-ti docker
They all use the docker image which contains the docker library. Is my answer then to install docker inside my base image to make it work? Does this then not go against what docker themselves says?
There are many other blog posts out there that gave the same advice, but my example does work. Where do I go wrong?
Replace the image ubuntu:latest in your dockerfile by the official docker:latest image wich contains docker binaries and does exactly what you want: https://hub.docker.com/_/docker
If you want to keep the Ubuntu image, you must install Docker tools following your error. By default, the Ubuntu image does not contain Docker binaries as a regular Ubuntu installation.

Docker image will not launch

Trying to launch a Docker image but it will not launch the process
The command is as follows:
sudo docker run --security-opt seccomp=unconfined blackarchlinux/blackarch
no error message is returned.
I would do the following things
see if my container is running or it is created
$ docker ps or docker ps -a
see if my image is pulled ?
$ docker images
if container is created but not running then I could also check the logs
$ docker logs my-container-name
if you can add in more details, probably would be able to investigate more
You want to start a shell up inside the container and use the tools in there, I assume.
In that case you need to add the -it options and tell docker which program/shell you want to run. Something like
sudo docker run -it --security-opt seccomp=unconfined blackarchlinux/blackarch /bin/bash

Error response from daemon: Mount denied - Error got while running docker application, which was working last night

Suddenly my docker run stopped working last night, which was working before. docker build is working fine, but I get the below error when trying to run the container.
Command
docker run -it --rm -p 9001:4200 -v ${pwd}/src:/app/src angularclient
Error message
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error
response from daemon: Mount denied: The source path
"E:/Karthik/angular/src" doesn't exist and is not known to Docker. See
'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.
I tried running the following command in the power shell:
refreshenv
set MSYS_NO_PATHCONV=1
set COMPOSE_CONVERT_WINDOWS_PATHS=1
try this:
docker run -it --rm -p 9001:4200 -v E:/Karthik/angular/src:/app/src angularclient
It seems that you can't use ${pwd} and ./ on win cmd and Git Bash. You can only use absolute paths.
Add this on your ~/.bash_profile:
export MSYS_NO_PATHCONV=1
Add / to prefix of path as below.
docker run -it --rm -p 9001:4200 -v /${pwd}/src:/app/src angularclient
Ensure the drive is shared in Docker settings "Shared Drives".
Create the full path if it doesn't already exist.
Add trailing / to the path.

centos6.6 in Dockerfile gives error

I am trying to use centos6.6 in Dockerfile,
I tried following both lines one by one in my Dockerfile:
FROM centos:centos6.6
FROM centos:6.6
But getting this error while running docker:
root#onl-dev:/distros/trial# docker run -it trial
docker: Error response from daemon: No command specified.
See 'docker run --help'.
Can someone suggest me if I am missing anything here?
The error seems pretty clear: you haven't specified a command to run, either in your Dockerfile or on the command line. You could try:
docker run -it trial bash
...if you want a shell. Or you could add to your Dockerfile:
CMD ["bash"]
...and now your image would run this by default if no command is provided on the command line.

Resources