학습 목표
- 고정 표시기는 거울과 고정 표시기 컨테이너의 개념을 이해하기위한 기본 지식을 습득
- 도커을하여 설치를 완료하고 시작하려면
- 도커 마스터 미러 컨테이너 관련 명령
- 설치 마스터 톰캣의 Nginx 및 기타 일반적으로 사용되는 소프트웨어 응용 프로그램
- 마스터 고정 표시기 마이그레이션 및 백업 관련 명령
- Dockerfile는 컨테이너를 만듭니다 쓰기 스크립트로 사용할 수 있습니다
- 구축 할 수 및 개인 창고 고정 표시기 사용
고정 표시기 설치
공식 내 서버가 Centos7.X을하기 때문에, 나는 당신에게 보여줄 것이다, 우분투 운영 체제를 사용하는 것이 좋습니다
최신 패키지 (1) 냠 업데이 트를
sudo yum update
(2) 설치 패키지를 필요
sudo yum install -y yum-utils device-mapper-persitent-data lvm2
(3) 세트 냠 소스 클라우드 알리
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
(4) 고정 표시기 장착
sudo yum install docker-ce
(5) 설치보기 버전
docker -v
설정 USTC 미러
(1) 다음 파일을 편집합니다
vi /etc/docker/deamon.json
(2) 다음을 추가하는
{
"registry-mirrors" : ["https://docker.mirrors.ustc.edu.cn"]
}
용도
# 1.开启服务
systemctl start docker
# 2.重启服务
systemctl restart docker
# 3.查看启动状态
systemctl status docker
# 4.设置开机自启
systemctl enable docker
# 5.停止服务
systemctl stop docker
일반적으로 사용되는 명령을 미러링
(1)보기 미러
docker images
REPOSITORY : 이미지 이름
TAG : 거울 태그
IMAGEID : 거울 ID
CREATED : 이미지의 생성 날짜
SIZE : 크기 거울은
그 이미지는 호스트 도커은 / var / lib 디렉토리 / 고정 표시기 디렉토리에 저장됩니다
(2) 거울 검색
네트워크에서 원하는 이미지를 얻을해야하는 경우 다음 명령을 사용하여 검색 할 수 있습니다,
docker search 镜像名
NAME : 창고 이름
설명 : 미러 설명
STARS : 사용자 평가
공식 : 공식인가
자동화 된 : 자동으로 구축 나타내는 것을 도커 허브 자동 프로세스 프레임 워크에 의해 생성 된 이미지
미러 인상 (3)
이미지를 당기는는 로컬 미러로 중앙 저장소로부터 다운로드
docker pull 镜像名称
예를 들어, 나는 Centos7 거울을 다운로드하려면
docker pull centos:7
(4) 거울을 제거
docker rmi 镜像ID
모든 미러 삭제
docker rmi `docker images -q` #注意这里不是单引号,是esc下面的按键
컨테이너 일반적으로 사용되는 명령
(1)보기 컨테이너는
컨테이너가 실행 볼 수 있습니다
docker ps
모든 컨테이너보기
docker ps -a
컨테이너의 마지막 실행보기
docker ps -l
확인 정지 용기
docker ps -f status=exited
(2) 생성 및 출시 컨테이너는
컨테이너 명령을 생성합니다 :
docker run
-i:表示运行容器
-t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个终端。
--name:为创建的容器命名
-v:表示目录映射关系(前者是宿主机命令,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。
-d:在run后面加上此参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加 -i -t参数,创建后会自动进入容器
-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
컨테이너를 만들 수있는 대화 형 방법
docker run -it --name=容器名称 镜像名称:标签 /bin/bash
그런 다음 우리는 당신이 선박의 출시를 볼 수 있습니다 발견되었다 ps 명령을 참조 상태는 상태를 시작합니다
현재 컨테이너를 종료
exit
컨테이너 보호자의 방법을 만들기 :
docker run -di --name=容器名称 镜像名称:标签
로그인 가드 선박 방법
docker exec -it 容器名称(或者容器id) /bin/bash
(3) 시작 및 중지 용기
컨테이너를 중지
docker stop 容器名称 (或者容器ID)
시작 컨테이너
docker start 容器名称(或者容器ID)
(4) 파일의 복사본
우리는 cp 명령을 사용할 수있는 용기에 파일을 복사해야하는 경우
docker cp 需要拷贝的文件或目录 容器名称:容器目录
또한 컨테이너에서 파일을 복사 할 수 있습니다
docker cp 容器名称:容器目录 需要拷贝的文件或目录
(5) 디렉토리 IS 장착
우리가 컨테이너에 영향을 미칠하기 위해 디렉토리에 호스트 파일을 수정할 수 있습니다 그래서, 컨테이너와 컨테이너 내의 디렉토리를 만들 때 디렉토리 매핑을 개최, 우리를.
예를 들어, 컨테이너 디렉토리 생성 후 컨테이너 추가 -v 매개 변수는 호스트 디렉토리가된다
docker run -di -v /usr/local/myhtml:usr/local/myhtml --name=mycentos3 centos:7
당신은 다중 레벨 디렉토리를 공유하는 경우, 프롬프트가있는 권한 나타날 수
있기 때문에 CentOS의 7 보안 모듈, 금지에 SELinux가 권한을, 우리는이 문제를 해결하는 경우는 true = --privileged 매개 변수를 추가해야합니다
(6)보기 컨테이너를 IP 주소
우리는 다음과 같은 명령을 실행 다양한 데이터 컨테이너를 볼 수 있습니다
docker inspect 容器名称(容器ID)
IP 주소는 다음 명령을 통해 직접 출력 할 수있다
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称(容器ID)
(7) 삭제 컨테이너
지정된 컨테이너를 삭제합니다 :
docker rm 容器名称(容器id)
응용 프로그램 배포
MySQL을 배포
(1) 풀 미러의 MySQL
docker pull centos/mysql-57-centos7
(2) 용기를 만들
docker run -di --name=tensquare_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
-p代表端口映射,格式为 宿主机映射端口:容器运行端口
-e代表添加环境变量 MYSQL_ROOT_PASSWORD表示root用户的登录密码
용기의 MySQL로 (3)
docker exec -it tensquare_mysql /bin/bash
MySQL의 (4) 로그인
mysql -u root -p
(5) 원격 링크의 MySQL
연결된 호스트 IP, 지정된 포트 3306
바람둥이 배포
(1) 미러 풀
docker pull tomcat:7-jre7
(2) 용기를 만들
docker run -di --name=mytomcat -p 9000:8080 -v /usr/local/webapps:/usr/local/webapps tomcat:7-jre7
-p表示地址映射
Nginx에 배포
(1) 미러 풀
docker pull nginx
(2) 컨테이너의 Nginx를 만들
docker run -di --name=mynginx -p 80:80 nginx
레디 스 배포
(1) 미러 풀
docker pull redis
컨테이너 만들기
docker run -di --name=myredis -p 6379:6379 redis
마이그레이션 및 백업
미러 용 저장 용기
우리는 거울에 대해 다음 명령 용기를 절약 할 수 있습니다
docker commit mynginx mynginx_i
이미지 백업
우리는 tar 파일에 대해 다음 명령 용기와 이미지를 저장할 수 있습니다
docker save -o mynginx.tar mynginx_i
복구 및 마이그레이션을 미러링
처음에 우리는 mynginx_img 거울을 제거하고 복구 할 수있는 다음과 같은 명령을 실행
docker load -i mynginx.tar
-i代表输入的文件
Dockerfile
Dockerfile 무엇입니까
Dockerfile 명령과 매개 변수들에 의해 스크립트가 기본 이미지에 이러한 명령을 구성하고 궁극적으로 새로운 이미지를 만들 수 있습니다.
- 개발자 : 개발 팀에 대한 일관성있는 개발 환경을 제공한다;
- 테스터의 경우 : 구성된 건물의 직접 미러 이미지를 촬영하거나 Dockerfile을 통해 작업에 새로운 이미지 파일을 개발
- 운영 및 유지 보수 인력의 경우 : 배포시 응용 프로그램의 원활한 마이그레이션을 가능하게한다.
명령 | 효과 |
---|---|
FORM의 여기서 image_name : 타르 | 기본 이미지의 사용은 건물의 프로세스를 시작하는 정의합니다 |
유지 관리자 사용자 _ | 면책 조항 거울 작성자 |
ENV 키 값 | 설정 환경 변수 (여러 쓸 수 있습니다) |
RUN 명령 | Dockerfile은 (다중 쓰기)의 핵심 인 |
ADD의 SOURCE_DIR / 파일 DEST_DIR / 파일 | 이 압축 파일을 복사 한 후 자동 압축 해제 할 경우, 내용에 호스트로 파일을 복사 |
복사 SOURCE_DIR / 파일 DEST_DIR / 파일 | ADD와 유사하지만 당신은 압축 된 파일을 추출 할 수없는 경우 |
WORKDIR의 path_dir | 작업 디렉토리 설정 |
부두 노동자 개인 창고
및 구성 개인 창고 세트
(1) 풀 개인 저장소 미러링
docker pull registry
(2) 시작 개인 컨테이너 창고
docker run -di --name=registry -p 5000:5000 registry
HTTP에 현지 지점 브라우저 : 당신의 IP : 5000 / V2 / 카탈로그를 확인합니다 {"repositories":[]}
개인 창고의 표현을 성공적인 내용이 비어 구축
(4) 수정 daemon.json
vi /etc/docker/daemon.json
다음 추가
{"insecure-registries":"[你的ip:5000]"}
이 단계는 개인 창고 주소에 대한 고정 표시기 신뢰 수
(5) 다시 고정 표시기 서비스
systemctl restart docker
개인 창고에 업로드 미러링
(1) 화상은 전용 창고 표시된
docker tag jdk1.8 你的ip:5000/jdk1.8
(2) 표시 이미지 업로드
docker push 你的ip:5000/jdk1.8