View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0006418 | Linux server software | Debian | public | 2023-08-27 17:34 | 2023-12-12 21:02 |
Reporter | DigitalMy | ||||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | assigned | Resolution | open | ||
Summary | 0006418: Move web services to docker containers | ||||
Description | First mail Use James image docker start name docker ps -a | ||||
Steps To Reproduce | sudo 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 | ||||
Tags | No tags attached. | ||||
|
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 |
|
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 |
|
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 |
|
clean up docker volume prune docker inspect mail > /share/mail.info.txt see only 5 mounts type volume |
|
open shell inside container: docker exec -ti mail sh in case ubuntu, run: apt update |