View Issue Details

IDProjectCategoryView StatusLast Update
0006418Linux server softwareDebianpublic2023-12-12 21:02
ReporterDigitalMy 
PrioritynormalSeverityminorReproducibilityhave not tried
Status assignedResolutionopen 
Summary0006418: Move web services to docker containers
DescriptionFirst mail
Use James image

docker start name
docker ps -a
Steps To Reproducesudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo apt-get install libc6-i386 libc6-dev-i386
sudo apt install docker.io
TagsNo tags attached.

Activities

DigitalMy

2023-08-27 17:34

administrator   ~0011221

Last edited: 2023-12-10 03:55

View 2 revisions

Use autostart:
docker update --restart unless-stopped name

first start container from public image:
cd /share/mail
docker run --name mail -it -p 25:25 -p 465:465 -p 587:587 -p 143:143 -p 993:993 -p 8080:8080 -v /share/mail/conf:/root/conf -v /share/mail/logs:/logs apache/james:jpa-latest

DigitalMy

2023-12-10 03:53

administrator   ~0014249

Last edited: 2023-12-10 14:32

View 7 revisions

move container with data volumes to new host:
docker stop mail
docker export -o /share/mail.tar mail
docker import /share/mail.tar mail


docker inspect mail
command inside:
java -Dlogback.configurationFile=/root/conf/logback.xml -Dworking.directory=/root/ -Djdk.tls.ephemeralDHKeySize=2048 -Dextra.props=/root/conf/jvm.properties -cp /root/resources:/root/classes:/root/libs/* org.apache.james.JPAJamesServerMain
docker run --name mail -it -p 25:25 -p 465:465 -p 587:587 -p 143:143 -p 993:993 -p 8080:8080 -v /share/mail/conf:/root/conf -v /share/mail/logs:/logs mail
need script /share/docker-volumes.sh from github

netstat -pln

docker stop mail
docker commit -p mail mail
docker save -o /share/mail.save mail
/share/docker-volumes.sh mail save /share/mail-volumes.tar
> move both to new host
docker load -i /share/mail.save
docker create --name mail -it -p 25:25 -p 465:465 -p 587:587 -p 143:143 -p 993:993 -p 8080:8080 -v /share/mail/conf:/root/conf -v /share/mail/logs:/logs mail
/share/docker-volumes.sh mail load /share/mail-volumes.tar
docker start mail
docker exec -ti mail james-cli ListDomains
docker exec -ti mail james-cli ListUsers

do not use run, because it will recreate new volumes databases before load: docker run --name mail -it -p 25:25 -p 465:465 -p 587:587 -p 143:143 -p 993:993 -p 8080:8080 -v /share/mail/conf:/root/conf -v /share/mail/logs:/logs mail

DigitalMy

2023-12-10 04:34

administrator   ~0014250

change the docker root path

sudo systemctl stop docker

open the /lib/systemd/system/docker.service
Change the ExecStart
    ExecStart=/usr/bin/docker daemon -H fd://
TO:
    ExecStart=/usr/bin/docker daemon -g /new/path/docker -H fd://


sudo systemctl daemon-reload
sudo systemctl start docker

DigitalMy

2023-12-10 13:45

administrator   ~0014251

clean up
docker volume prune
docker inspect mail > /share/mail.info.txt
see only 5 mounts type volume

DigitalMy

2023-12-12 21:02

administrator   ~0014253

open shell inside container:
docker exec -ti mail sh
in case ubuntu, run:
apt update