Docker Ubuntu Debian image Dockerfile add cifx Network - linux

I want to create a new Image using Dockerfile from Debian or Ubuntu official Image. With this Image I need to add the Cifx0 Network from Hilscher company. How can I add the Packages or Install the Packages for this Driver without using the Hilscher Image. but with Debian or ubuntu official Image.
I tried to create this Network using this Packages in Github
https://github.com/HilscherAutomation/netPI-netx-ethernet-lan but it didnt work

Related

install python3 on VM without using internet

I need to install python 3 on my virtual machine (I have python 2.7) but I don't have access to internet from my VM. Is there any way to do that without using internet I have access to a private gitlab repository and private dokcer hub.
Using GitLab
Ultimately, you can put whatever resources you need to install Python3 directly in GitLab.
For example, you could use the generic packages registry to upload the files you need and download them from GitLab in your VM. For example, you can redistribute the files from python.org/downloads this way.
If you're using a debian-based Linux distribution like Ubuntu, you could even provide the necessary packages in the GitLab debian registry (disabled by default, but can be enabled by an admin) and just use your package manager like apt install python3-dev after configuring your apt lists to point to the gitlab debian repo.
Using docker
If you have access to dockerhub, technically you can access files from docker images as well. Here I'll assume you're using ubuntu or some debian-based distribution, but the same principle applies for any OS.
Suppose you build an image:
FROM ubuntu:<a tag that matches your VM version>
# downloads all the `.deb` files you need to install python3
RUN apt update && apt install --download-only python3-dev
You can push this image to your docker registry
Then on your VM, you can pull this image and extract the necessary install files from /var/cache/apt/archives/*.deb in the image then install using dpkg
Extract files from the image (in this case, to a temp directory)
image=myprivateregistry.example.com/myrepo/myimage
source_path=/var/cache/apt/archives
destination_path=$(mktemp -d)
docker pull "$image"
container_id=$(docker create "$image")
docker cp "$container_id:$source_path" "$destination_path"
docker rm "$container_id"
Install python3 using dpkg:
dpkg --force-all -i "${destination_path}/*.deb"

/lib64/ld-linux-x86-64.so.2: No such file or directory error

Background
I am using docker to do a school project. Specifically, I pulled an ubuntu image and here is the system config:
I then logged into the docker container (ubuntu) and set up elasticsearch. When I try to run
./bin/elasticsearch
I get the following error inside the docker container's terminal
/lib64/ld-linux-x86-64.so.2: No such file or directory
I have two main confusions:
what does that even mean?
How to solve it?
If you are running this on an M1 macbook, it's possible that you are running a native Arm image of ubuntu, instead of the emulated x86 image. If the elasticsearch distribution you are trying to install is for x86_64, then it attempts to link to the x86-64-native ld.so, which of course isn't present on different platforms.
Either install the package for the arm platform specifically if they provide one, or - more likely - run docker explicitly as the emulated x86_64 platform:
docker run --platform linux/x86_64 <image>
For docker-compose, add platform: linux/x86_64 according to the docs
services:
my-app:
platform: linux/x86_64
No idea what you are running in your container but for me, the reason was simply because a package (Prisma https://github.com/prisma/prisma/issues/8478#) did not find openssl packages and installing them on alpine image failed even with openssl manually installed.
It was fixed by switching to slim image and installing openssl with apt-get update && apt-get -y install openssl. I highly recommend not changing your platform since with my M1 the build time increased by 200s using linux/x86_64.
Completing #misnomer answer, I could not even build the image.
If that is the case just add FROM --platform=linux/x86_64 ..., from this source. Ex: FROM --platform=linux/x86_64 python:slim ...

Which Operating System is Docker virtualizing when it runs the Node image?

When you use the Node Docker Image, i suppose that Docker is running or (virtualizing) a OS that has a node installation, I will like to know what is that OS, or how is posible that Docker is able to run NodeJs
There are several different image variants for Node - the official builds are all either flavors of Debian or Alpine Linux.
See more information: https://github.com/nodejs/docker-node/blob/main/README.md#image-variants
node:<version>
Debian
node:alpine
Alpine
node:buster
Debian 10
node:stretch
Debian 9
node:slim
Debian minimal

Linux headers for ubuntu docker image 18.04

I am trying to install linux header for my ubuntu 18.04 docker image (ubuntu:18.04). Usually I will do sudo apt-get install linux-headers-$(uname -r) in my VM to get the current linux header packages.
But the docker image return the following when I run uname -r
root#0c4e24cca819:/# uname -r
4.19.76-linuxkit
Just wonder which linux header image I should use for ubuntu:18.04 docker image?
Docker by definition runs your current kernel. If you are on a machine whose kernel has not been packaged for Ubuntu then there is no package you can install to get its headers.
Looks like you're on a Mac, so definitely that is the case here. Perhaps you could ask the Docker for Mac maintainers to provide headers for some popular platforms for their kernel, but I suspect they don't want to take on that responsibility.
As a workaround, maybe run Docker inside Linux on e.g. Virtualbox.

Jenkins Installation Wizard Error

I've tried installing Jenkins on AWS & DigitalOcean instances/droplets without any luck.
For EC2 instances used the latest Amazon Linux AMI (ami-f9dd458a) & Ubuntu 14.04 (ami-ed82e39e). On DigitalOcean I tried using Ubuntu 14.04 & 16.04. I've also attempted to install jenkins using jdk-7 & jdk-8 following Debian based installation or Red-Hat distribution installation instructions (even tried to install LTS version).
For all of the above the installation runs smoothly but after unlocking with the initialAdminPassword and selecting either option in the wizard ("Install suggested plugins" or "Select plugins to install") I face a connection (?) error:
I copied the logs from /var/log/jenkins/jenkins.log and they are in this gist.
Could this be a dumb mistake I did along the way? I've used Jenkins from a docker container but kinda need to install natively now for. Thanks for the help.
Solved: Install on an instance with more RAM.
For some reason I had no problems installing in a smaller machine using the docker image. Oh well :)

Resources