도커 용기 기술 노트

학습 목표

  • 고정 표시기는 거울과 고정 표시기 컨테이너의 개념을 이해하기위한 기본 지식을 습득
  • 도커을하여 설치를 완료하고 시작하려면
  • 도커 마스터 미러 컨테이너 관련 명령
  • 설치 마스터 톰캣의 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 명령과 매개 변수들에 의해 스크립트가 기본 이미지에 이러한 명령을 구성하고 궁극적으로 새로운 이미지를 만들 수 있습니다.

  1. 개발자 : 개발 팀에 대한 일관성있는 개발 환경을 제공한다;
  2. 테스터의 경우 : 구성된 건물의 직접 미러 이미지를 촬영하거나 Dockerfile을 통해 작업에 새로운 이미지 파일을 개발
  3. 운영 및 유지 보수 인력의 경우 : 배포시 응용 프로그램의 원활한 마이그레이션을 가능하게한다.
명령 효과
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
게시 17 개 원래 기사 · 원의 찬양 (15) · 전망 4173

추천

출처blog.csdn.net/qq_45455361/article/details/104278125