Eos: Docker error: No container found for keosd_1

Created on 10 Aug 2018  路  8Comments  路  Source: EOSIO/eos

So because the "eosiocpp" command on my computer does not work and therefore I have to go into the container to compile my .cpp file. I had to use docker-compose exec keosd bash command to enter the container. But it stops working and could not find the keosd_1 container. I tried to use the previous stable EOS version and reinstalled my docker. None of them works. Appreciate it if anyone could help me!
image

Most helpful comment

try removing the -d option from docker so we can check the output. Probably keosd had some issue while starting up

All 8 comments

try removing the -d option from docker so we can check the output. Probably keosd had some issue while starting up

@lucca65 Hi thanks for the help, i tried to remove the -d but another error occurs:
image

Oh, the docker-compose file is outdated, its using a deprecated flag. Try to remove those --http-alias= flags on keos container (inside docker-compose.yml)

@lucca65 thank you so much my friend. It worked!
image

@lucca65 hey my friend so I entered the container but there came another bug and I could not fix it at all. So when I entered the contracts folder and there is no my own contracts but all default contracts
image
i tried to rebuild docker and copy and paste my contracts there but it won't work :(
i also noticed that before it was
image
on my terminal but now it just the container ID:
image

dont know if that has anything to do with my bug but appreciate it if you could give some advice on how to solve it. thanks

try to open a new issue, you can @ me if needed.

but for the error you are having now:

You need to map a folder from your local machine to your docker image

create a new volume to be shared:

docker volume create 鈥攏ame=contracts

add this volume to the end of your docker compose file, inside volumes:

volumes:
  ... other volumes 
  contracts:
    external: true

finally map it to a folder on your container:

i鈥檝e used / but you can change to anything

  nodeos:
  ... other keys
    volumes:
       - ../contracts:/contracts

again you can customize your paths

remember to use your container paths if you are executing eosiocpp from the host machine

@lucca65 Hi Julien, would you mind explaining little more regarding your last step?
image
I was not able to find anything called "nodeos:" within the docker-compose" file.

Thanks a lot!

Hey Kenny, I'm sorry, I was out of my computer. I've mistyped it. Its under de nodeosd container.

Try to understand the anatomy of the docker-compose file. You define services at the root level. You also define volumes at root level.

under the specific services, in this case nodeosd and keosd, you can use the defined volumes. those volumes can map to directories in the host machine with the syntax HOST_PATH:CONTAINER_PATH.

Try finding those, and experiment by yourself. If you need further help I can make a docker-compose file for you, but it can be a great opportunity to experiment things by your own.

Also, close this issue as this can be misleading to other users, since your original answer was solved (:

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sim31 picture sim31  路  3Comments

jcalfee picture jcalfee  路  3Comments

guaiguaihw picture guaiguaihw  路  3Comments

toonsevrin picture toonsevrin  路  3Comments

yashbhavsar007 picture yashbhavsar007  路  3Comments