Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
docker_notes:docker [2024-09-28 Sat wk39 18:34] – [Build Images] baumkp | docker_notes:docker [2025-06-21 Sat wk25 12:15] (current) – [Networks] baumkp | ||
---|---|---|---|
Line 8: | Line 8: | ||
=====Installation===== | =====Installation===== | ||
+ | *[[https:// | ||
One click installation script: | One click installation script: | ||
*'' | *'' | ||
Line 20: | Line 20: | ||
Install Docker Engine : [Docker Engine](https:// | Install Docker Engine : [Docker Engine](https:// | ||
+ | |||
+ | ====Docker Desktop for Linux==== | ||
+ | I have preferred to run Docker command as a native Linux applications. | ||
=====Uninstall===== | =====Uninstall===== | ||
Both the install methods actually use the standard package manager to install docker. | Both the install methods actually use the standard package manager to install docker. | ||
- | -'' | + | -'' |
-'' | -'' | ||
-Check the the '' | -Check the the '' | ||
Line 123: | Line 126: | ||
* Then pull the latest portainer/ | * Then pull the latest portainer/ | ||
<code yaml> | <code yaml> | ||
+ | |||
+ | It would seem remote agents by default do not show out of date images, can be toggled on/off under '' | ||
Line 232: | Line 237: | ||
|'' | |'' | ||
|'' | |'' | ||
- | |'' | + | |'' |
+ | **Network: | ||
+ | |< | ||
+ | ^COMMAND ^ DESCRIPTION^ | ||
+ | |'' | ||
+ | |'' | ||
+ | |'' | ||
+ | |'' | ||
+ | |'' | ||
+ | |'' | ||
+ | |||
+ | =====DOCKER DNS===== | ||
+ | Docker has an internal DNS for each discrete type network. | ||
====docker ps command==== | ====docker ps command==== | ||
The '' | The '' | ||
Line 245: | Line 262: | ||
===reference=== | ===reference=== | ||
*[[https:// | *[[https:// | ||
+ | *[[https:// | ||
*Docker Docs | *Docker Docs | ||
*[[https:// | *[[https:// | ||
Line 271: | Line 289: | ||
* '' | * '' | ||
- Host (Appears on the host machine as if installed there, no separate network.) | - Host (Appears on the host machine as if installed there, no separate network.) | ||
- | | + | -If you use the host network mode for a container, that container' |
+ | | ||
+ | -The macvlan network assigns a unique MAC address to each container, making it appear to be a physical device on your network, just like a traditional virtual machine. The Docker daemon then routes the traffic to containers on the basis of their MAC address. It also allows you to assign an IP address from the same subnet in which the Docker host resides. This avoids the use of the host network, there is no NAT overhead, and you won't run into network performance issues. | ||
- MACVLAN (without subVLAN) this create a new ip address on the host machine | - MACVLAN (without subVLAN) this create a new ip address on the host machine | ||
- | * <code bash> | + | * <code bash> |
+ | -d macvlan \ | ||
--subnet 192.168.1.0/ | --subnet 192.168.1.0/ | ||
--gateway 192.168.1.1 \ | --gateway 192.168.1.1 \ | ||
- | -o parent=br0 | + | -o parent=br0 network_named</ |
- | network_named</ | + | |
* No host DHCP access so need to specify ip address when creating container (docker cli '' | * No host DHCP access so need to specify ip address when creating container (docker cli '' | ||
* May be problem with multiple MACs on common switch port. Need to set promiscuous mode on network, e.g. '' | * May be problem with multiple MACs on common switch port. Need to set promiscuous mode on network, e.g. '' | ||
Line 283: | Line 303: | ||
- IPVLAN | - IPVLAN | ||
- IPVLAN on host subnet, this create a new ip address on the host machine, but not with new MAC number, it uses the host MAC number | - IPVLAN on host subnet, this create a new ip address on the host machine, but not with new MAC number, it uses the host MAC number | ||
- | * <code bash> | + | * <code bash> |
+ | -d ipvlan \ | ||
--subnet 192.168.1.0/ | --subnet 192.168.1.0/ | ||
--gateway 192.168.1.1 \ | --gateway 192.168.1.1 \ | ||
- | -o parent=br0 | + | -o parent=br0 network_named</ |
- | network_named</ | + | |
* No host DHCP access so need to specify ip address when creating container (docker cli '' | * No host DHCP access so need to specify ip address when creating container (docker cli '' | ||
* May be problem with shared MAC with multiple IP address, but less likely than MACVLAN. | * May be problem with shared MAC with multiple IP address, but less likely than MACVLAN. | ||
- IPVLAN on separate subnet using the host machine as gateway, but not with new MAC number, it uses the host MAC number | - IPVLAN on separate subnet using the host machine as gateway, but not with new MAC number, it uses the host MAC number | ||
- | * <code bash> | + | * <code bash> |
+ | -d ipvlan \ | ||
--subnet 192.168.1.0/ | --subnet 192.168.1.0/ | ||
-o parent=br0 -o ipvlan_mode=l3 \ | -o parent=br0 -o ipvlan_mode=l3 \ | ||
- | --subnet 192.168.10.0/ | + | --subnet 192.168.10.0/ |
- | network_named</ | + | |
* No host DHCP access so need to specify ip address when creating container (docker cli '' | * No host DHCP access so need to specify ip address when creating container (docker cli '' | ||
* May be problem with shared MAC with multiple IP address, but less likely than MACVLAN. | * May be problem with shared MAC with multiple IP address, but less likely than MACVLAN. | ||
Line 301: | Line 321: | ||
- None network - no assigned network, container has no external network connectivity | - None network - no assigned network, container has no external network connectivity | ||
- | ====network troubleshooting==== | + | ====References==== |
+ | *[[https:// | ||
+ | *[[https:// | ||
+ | *[[https:// | ||
+ | *[[https:// | ||
+ | *[[https:// | ||
+ | *[[https:// | ||
+ | *[[https:// | ||
+ | =====network troubleshooting===== | ||
A lot of containers are setup to be small and hence do not include many, if any of the tools required to diagnose problems. | A lot of containers are setup to be small and hence do not include many, if any of the tools required to diagnose problems. | ||
*'' | *'' | ||
- | ====Troubleshooting==== | + | |
+ | ====Network | ||
*[[https:// | *[[https:// | ||
*[[https:// | *[[https:// | ||
+ | |||
+ | =====Docker Cleanup===== | ||
+ | Docker can take a lot of disk space. | ||
+ | Docker stores the container images and other operating information in ''/ | ||
+ | *'' | ||
+ | *'' | ||
+ | |||
<- docker_notes: | <- docker_notes: |