Skip to content

Commit 6f2c278

Browse files
committed
add db/Docker to create sysadmin and set up ssh access
1 parent add69e7 commit 6f2c278

File tree

2 files changed

+44
-1
lines changed

2 files changed

+44
-1
lines changed

db/Dockerfile

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# https://docs.docker.com/engine/reference/builder/
2+
3+
# https://hub.docker.com/_/mariadb
4+
FROM mariadb
5+
6+
# Resynchronize the package index files from their sources
7+
RUN apt-get update
8+
9+
# Install packages for ssh
10+
RUN apt-get install -y \
11+
openssh-client \
12+
openssh-server
13+
14+
# Clean up packages: Saves space by removing unnecessary package files and lists
15+
RUN apt-get clean
16+
RUN rm -rf /var/lib/apt/lists/*
17+
18+
# Create sysadmin user and add to sudoers
19+
RUN useradd -m -s /bin/bash sysadmin && \
20+
echo "sysadmin:sysadmin" | chpasswd && \
21+
usermod -aG sudo sysadmin
22+
23+
# Ensure SSH directory exists with correct permissions
24+
RUN mkdir -p /home/sysadmin/.ssh && \
25+
chown sysadmin:sysadmin /home/sysadmin/.ssh && \
26+
chmod 700 /home/sysadmin/.ssh
27+
28+
# Create privilege separation directory for SSH
29+
RUN mkdir -p /run/sshd
30+
31+
# Expose SSH port
32+
EXPOSE 22
33+
34+
# Start SSH service
35+
CMD ["/usr/sbin/sshd", "-D"]

docker-compose.yml

+9-1
Original file line numberDiff line numberDiff line change
@@ -68,16 +68,24 @@ services:
6868

6969
db-dev:
7070
container_name: db-dev
71+
build:
72+
context: .
73+
dockerfile: db/Dockerfile
7174
environment:
7275
MYSQL_DATABASE: wordpress
7376
MYSQL_ROOT_PASSWORD: root
7477
MYSQL_USER: root
75-
image: mariadb
7678
networks:
7779
- dev-backend
7880
restart: on-failure
81+
ports:
82+
- "3306:3306"
83+
- "22003:22"
7984
volumes:
8085
- db-data:/var/lib/mysql
86+
- ./sysadmin-ssh-keys/rsa_sysadmin:/home/sysadmin/.ssh/id_rsa:ro
87+
- ./sysadmin-ssh-keys/rsa_sysadmin.pub:/home/sysadmin/.ssh/id_rsa.pub:ro
88+
- ./sysadmin-ssh-keys/rsa_sysadmin.pub:/home/sysadmin/.ssh/authorized_keys:ro
8189

8290
volumes:
8391
db-data:

0 commit comments

Comments
 (0)