cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

ThingWorx 9.3 Docker docker-compose pull access denied error when local image exists

mberber
11-Garnet

ThingWorx 9.3 Docker docker-compose pull access denied error when local image exists

Hello Everyone;

 

I have been try to use Docker to install Thingworx Postgresql.

After

/build.sh postgres

which completes successfully,

sudo docker-compose -f docker-compose-postgres.yml up -d

gives this errors

 

 

 sudo docker-compose -f docker-compose-postgres.yml up -d                                                                                                1 ↵
Pulling security-cli (thingworx/security-tool:latest)...
ERROR: The image for the service you're trying to recreate has been removed. If you continue, volume data could be lost. Consider backing up your data before continuing.

Continue with the new image? [yN]n
ERROR: pull access denied for thingworx/security-tool, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
╭─mcb@dev-pc ~/Documents/BrandIT/TwxDocker 
╰─$ sudo docker-compose -f docker-compose-postgres.yml up -d                                                                                                1 ↵
Pulling security-cli (thingworx/security-tool:latest)...
ERROR: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io: Temporary failure in name resolution
╭─mcb@dev-pc ~/Documents/BrandIT/TwxDocker 
╰─$ docker images                                                                                                                                           1 ↵
REPOSITORY                      TAG                                           IMAGE ID       CREATED          SIZE
╭─mcb@dev-pc ~/Documents/BrandIT/TwxDocker 
╰─$ sudo docker-compose -f docker-compose-postgres.yml up
Pulling security-cli (thingworx/security-tool:)...
ERROR: The image for the service you're trying to recreate has been removed. If you continue, volume data could be lost. Consider backing up your data before continuing.

Continue with the new image? [yN]n
ERROR: pull access denied for thingworx/security-tool, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

 

 

 

20151a3b-ae7c-4692-8976-8219c01de4cf.png

 

In screenshot shows that images are downloaded at the /build.sh postgres step and docker-compose should search for local images but instead its looking on the Docker Hub. 

 

I am logged in to Docker Hub but i assume the "thingworx/postgresql-init-twx" or other images are private.

 

Has anyone encounter this problem ?

 

How can i solve this?

 

Thank you

Murat Can BERBER

 

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
mberber
11-Garnet
(To:mberber)

Hello everyone

 

I found the solution

0 ) Create Two Folder  as Security and Platform. Download individual dockerfiles and unpack in their respective directory. (security cli docker images in Datecode: F000 )

Updating Media

1 ) First build Security Cli image

2 ) Inside the Platform directory download the necessary files and insert them inside the staging directory

3 ) Carefully edit build.env to match file names and version numbers. Make sure tar.gz zip file names is same in the staging directory

4 ) Make sure that platform-settings.json inside staging folder is properly configured. Because the values should be same on docker-compose-type.yml file.

5 ) Build Platform by first ./build.sh and check there are any errors then go for ./build.sh postgresql  or any other type.

6 ) I solve some of database connection problems by creating standalone postgresql 13 intallation outside the docker which the documentation also recomend this for production environments.  Make sure that database has appropriate username and connectivity permissions that will be coming from containers. Make sure using same database / username / password combination in Postgresql, build.env and docker-compose file.

7 ) After build make sure that  in the docker-compose-postgresql.yml , postgresql service is deleted in docker-compose file And  postgresql-init services should not depends on postgresql service which we are managing. 

8 ) Use volumes to persist ThingworxPlatform and other directories to easy access and persisted logs and managing exports. 

9 ) Last but not least start docker-compose and hopefully wait until the platform ask you the complicated password that you probably will copy and paste!

 

I hope this will help you. 

 

Thanks 

Murat Can

View solution in original post

2 REPLIES 2
mberber
11-Garnet
(To:mberber)

Hello Everyone

 

I fix this error by first building Security CLI Docker file. After that missing images are downloaded. 

 

docker-compose -f docker-compose-postgresql.yml up -d  now works and create containers but thingworx/platform-postgres:latest container failed after few second. 

 

I am try to investigate the logs and find what cause this issue. 

 

I can send the logs if needed.

 

Thank you

mberber
11-Garnet
(To:mberber)

Hello everyone

 

I found the solution

0 ) Create Two Folder  as Security and Platform. Download individual dockerfiles and unpack in their respective directory. (security cli docker images in Datecode: F000 )

Updating Media

1 ) First build Security Cli image

2 ) Inside the Platform directory download the necessary files and insert them inside the staging directory

3 ) Carefully edit build.env to match file names and version numbers. Make sure tar.gz zip file names is same in the staging directory

4 ) Make sure that platform-settings.json inside staging folder is properly configured. Because the values should be same on docker-compose-type.yml file.

5 ) Build Platform by first ./build.sh and check there are any errors then go for ./build.sh postgresql  or any other type.

6 ) I solve some of database connection problems by creating standalone postgresql 13 intallation outside the docker which the documentation also recomend this for production environments.  Make sure that database has appropriate username and connectivity permissions that will be coming from containers. Make sure using same database / username / password combination in Postgresql, build.env and docker-compose file.

7 ) After build make sure that  in the docker-compose-postgresql.yml , postgresql service is deleted in docker-compose file And  postgresql-init services should not depends on postgresql service which we are managing. 

8 ) Use volumes to persist ThingworxPlatform and other directories to easy access and persisted logs and managing exports. 

9 ) Last but not least start docker-compose and hopefully wait until the platform ask you the complicated password that you probably will copy and paste!

 

I hope this will help you. 

 

Thanks 

Murat Can

Announcements