[도커] 도커 배포 mysql

1. 단계

  • 1. mysql 미러 검색
  • 2. mysql 이미지 가져오기
  • 3. 컨테이너 생성
  • 4. 컨테이너에서 mysql 작동

2. 설명

  • 1. 컨테이너의 네트워크 서비스는 외부 시스템과 직접 통신할 수 없습니다.
  • 2. 컨테이너에 배포된 mysql 포트 3306은 외부 머신과 호스트 간에 직접 통신할 수 없습니다.
  • 3. 외부 기기와 호스트 기기 간의 직접 통신
  • 4. 호스트와 컨테이너가 직접 통신할 수 있습니다.
  • 5. 컨테이너의 네트워크 서비스가 외부 머신에서 액세스해야 하는 경우 컨테이너에서 서비스를 제공하는 포트를 호스트 머신의 포트에 매핑할 수 있습니다.
  • 6. 외부 머신이 호스트 머신의 포트에 접근하여 컨테이너의 서비스에 간접적으로 접근

3. 예시

  • 1. mysql 미러 검색
docker search mysql
  • 2. mysql 이미지 가져오기
docker pull mysql:5.6
  • 3. 컨테이너 생성, 포트 매핑, 디렉토리 매핑 설정
# 在/root目录下创建mysql目录用于存储mysql数据信息
mkdir ~/mysql
cd ~/mysql

주문 실행:

docker run -id \
-p 3307:3306 \
--name=my_mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.6

매개변수 설명:

1.-p 3307:3306:将容器的3306端口映射到宿主机的3307端口
2.-v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的conf/my.cnf挂载到容器的/etc/mysql/my.cnf。  配置的目录
3.-v $PWD/logs:/logs:将主机当前目录下的logs目录挂载到容器的/logs。 日志的目录
4.-v $PWD/data:/var/lib/mysql:将主机当前目录下的data目录挂载到容器的/var/lib/mysql。 数据的目录
5.-e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码, e是env环境的意思
  • 4. 컨테이너를 입력
docker exec -it my_mysql /bin/bash
// my_mysql是容器名
  • 5. mysql에 로그인
mysql -u root -p
// 输入密码 123456
  • 6. 로그인 스크린샷
    여기에 이미지 설명 삽입

    여기에 이미지 설명 삽입

  • 7. 종료

exit // 退出mysql
exit // 退出容器

추천

출처blog.csdn.net/qq_32088869/article/details/131883817