정적으로 띄워지는 컨테이너중 MySQL 의 PW를 파일이 아닌 EC2 리눅스 환경에 직접 지정하여 사용해보려고 한다.
해당 컴포즈에서는 하나의 네트워크에 expose로 설정해놨기 때문에 외부에서 접근이 불가하다 !

하지만 root의 비밀번호가 git에 노출된다면 이또한 위험요소가 될수있다
해당 DB, jenkins, Nginx는 정적 컨테이너로 미리 띄워놓고 사용한다.
따라서 ec2 자체의 환경변수로 설정해놓고 사용한다면 외부에서 접근이 불가하다 !

export MYSQL_ROOT_PASSWORD=root 로 전역 변수에 등록하고
printenv 명령어를 사용해보면 성공적으로 등록 되어있는것을 볼수있다 !

일반 계정으로 변환해서 환경변수를 조회해보면 MYSQL_ROOT_PASSWORD가 등록되어 있지 않는것을 볼수있다 !

다시 root 계정으로 접근해서 확인해보니 환경 변수가 사라졌다 ?
찾아보니 다음과 같다
/etc/profile: 이 파일에 환경변수를 추가하면 모든 사용자와 모든 쉘 로그인 세션에 대해 환경변수가 설정됩니다./etc/environment: 이 파일은 시스템 전체에서 모든 사용자에게 적용되는 환경변수를 설정할 때 사용합니다. 쉘 스크립트 문법이 아닌 단순 키-값 형태로 환경변수를 설정할 수 있습니다.~/.bashrc 또는 ~/.profile: 특정 사용자의 홈 디렉토리에 있는 이 파일들에 환경변수를 추가하면 해당 사용자가 로그인할 때마다 해당 환경변수가 적용됩니다. .bashrc는 bash 쉘에서 사용되며, .profile은 로그인 쉘에서 실행됩니다.export 변수이름=값 형태로 설정할 수 있습니다. 이 경우에는 사용자가 로그아웃하면 설정한 환경변수가 사라집니다.sudo로 환경변수 유지하기:sudo 명령어를 사용할 때 E 옵션을 추가하여 현재 사용자의 환경변수를 root 권한으로 전환할 때 유지할 수 있습니다. 예를 들어, sudo -E 명령어 형태로 사용합니다.나는 root 계정 한정으로 환경변수를 등록하고 싶다


환경변수를 등록해놨다
이후 로그아웃후 다시 ROOT 계정에 들어왔을때 해당 환경변수가 등록 되어있는것을 볼수있다 !

MYSQL이 문제없이 로드 되는것을 확인했다

환경변수로 설정한 root 비밀번호 root 도 잘 로드 되는것을 확인했다.
