Tips on using latest version of docker Compose workaround for Prereq instruction typos
If you did the docker-compose workaround for the error in the prereq instructions on getting everything setup, there were a couple other non-obvious steps I had to do. Hopefully this will save others some time / suffering. I was getting very persistent errors about the network.sh script being unable to connect to the docker daemon. Here's what I found.
1) Even though the work around was to install docker compose by installing Docker Desktop (all google posts I could find pointed to this method), I could never actually get Docker Desktop to run on the Ubuntu 20... running on the recommended Oracle VirtualBox VM because it requires KVM, which this setup doesn't support (at least running on a regular non-M1 MacBook Pro).
2) Despite this, the daemon does seem to be configured and starts up on boot up. Make sure this is working or nothing else will. To verify that it's up:
$ sudo systemctl status docker
If this says docker is up, then the deamon is running. If not here's a good article on things to do:
https://www.baeldung.com/ops/docker-cannot-connect
2) Based on that article and on my experience:
- make sure your user is in the 'docker' group
- if you have to add yourself manually (I did), you have to restart the docker service for it to take effect: sudo service docker restart
3) With this done, the network.sh startup script still fails.
- Thanks to @rashtrakoff , change the version numbers on all the compose yaml scripts to 3.7. (I don't know what this does exactly)
- I still had issues until noticing that with the latest docker / compose install, the command 'docker-compose' no longer works. Compose is now accessed through docker directly like this 'docker compose' (note the space, it's an argument). For example, you should check that this works:
$ docker compose version
I get:
Docker Compose version v2.6.0
Note that if you are using the latest docker / compose the instructions are wrong here:
$ docker-compose --version
This no longer works
4) Now carefully change all occurences of 'docker-compose' to 'docker compose' in the .yaml files, BUT not where that occurs in filenames or variables, only on shell script commands. Do not do a Replace All.
5) Believe it or not, this still failed for me until I finally just always run the ./network.sh command with sudo:
$ sudo ./netowrk up ....
from the instructed directory
6) Another tip someone posted, if you having issues shut the network down before trying again with (as sudo for me anyway):
$ sudo ./network down
This finally worked, I think. Below is how looked like this for me the first time with no errors. Maybe there's supposed to be more? Please comment if so.
$ sudo ./network.sh up createChannel -ca -s couchdb
Creating channel 'mychannel'.
If network is not up, starting nodes with CLI timeout of '5' tries and CLI delay of '3' seconds and using database 'couchdb with crypto from 'Certificate Authorities'
Bringing up network
LOCAL_VERSION=2.2.2
DOCKER_IMAGE_VERSION=2.2.2
CA_LOCAL_VERSION=1.4.9
CA_DOCKER_IMAGE_VERSION=1.4.9
Generating certificates using Fabric CA
[+] Running 3/0
⠿ Container ca_org1 Running 0.0s
⠿ Container ca_org2 Running 0.0s
⠿ Container ca_orderer Running
Comments, feedback, suggestion are welcome.
Comments
-
@king612, Thank you for sharing this information with other learners. Your comprehensive advice on the workarounds shows your dedication to hard work. I will pass this note on to the current content creators who are working on the upgrades. Very impressive work. Bobbi
0
Categories
- All Categories
- 177 LFX Mentorship
- 177 LFX Mentorship: Linux Kernel
- 750 Linux Foundation IT Professional Programs
- 373 Cloud Engineer IT Professional Program
- 169 Advanced Cloud Engineer IT Professional Program
- 74 DevOps IT Professional Program - Discontinued
- 4 DevOps & GitOps IT Professional Program
- 99 Cloud Native Developer IT Professional Program
- 7.6K Training Courses & Learning Paths
- 1 AI & ML Training
- 1 Blockchain & Decentralized Identity Training
- 4 Cloud & Containers Training
- 1 Cybersecurity Training
- 2 DevOps & Site-Reliability Training
- 1 Linux Kernel Development Training
- 1 Networking Training
- 2 Open Source Best Practice Training
- 1 System Administration Training
- 1 System Engineering Training
- 1 Web & Application Development Training
- 792 Hardware
- 202 Drivers
- 68 I/O Devices
- 37 Monitors
- 95 Multimedia
- 173 Networking
- 91 Printers & Scanners
- 87 Storage
- 769 Linux Distributions
- 81 Debian
- 68 Fedora
- 22 Linux Mint
- 13 Mageia
- 24 openSUSE
- 150 Red Hat Enterprise
- 31 Slackware
- 13 SUSE Enterprise
- 356 Ubuntu
- 465 Linux System Administration
- 31 Cloud Computing
- 73 Command Line/Scripting
- Github systems admin projects
- 98 Linux Security
- 78 Network Management
- 101 System Management
- 46 Web Management
- 106 Mobile Computing
- 18 Android
- 73 Development
- 1.2K New to Linux
- 1K Getting Started with Linux
- 392 Off Topic
- 121 Introductions
- 181 Small Talk
- 29 Study Material
- 955 Programming and Development
- 310 Kernel Development
- 627 Software Development
- 984 Software
- 376 Applications
- 182 Command Line
- 5 Compiling/Installing
- 68 Games
- 317 Installation
- Archived
- 2 LFD140 Class Forum
- 1.4K LFS258 Class Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)
