Docker概念速通
1.Docker的概念
白话:就是一个轻量的虚拟机,多余的东西不要。
1.docker:打包、分发和部署。
- 打包:docker镜像
- 分发:保存到镜像仓库
- 部署:方便部署
2.好处:方便win下开发,Linux下部署。适合多个软件版本共存。win下就会出现问题。
3.安装:
拉取:docker pull redis:tag
运行:docker run -d -p 主机端口:容器端口 --name 容器名字 redis:tag
进入容器:docker exec -it id bin/bash
2.自定义镜像
DockerFile
docker-compose.yaml
1.DockerFile
FROM 基础镜像
ADD/COPY 主机目录 镜像目录
WORKDIR 工作目录/运行目录
RUN 下载一些东西
CMD 运行命令,例如 java -jar xxx.jar
构建镜像:
docker build -t 镜像名:版本标识
2.docker-compose.yaml
version: "3"
services:
sonarqube:
image: sonarqube:lts-community
depends_on:
- db
environment:
SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar
SONAR_JDBC_USERNAME: sonar
SONAR_JDBC_PASSWORD: sonar
volumes:
- /usr/local/docker/sonar_qube/sonarqube_data:/opt/sonarqube/data
- /usr/local/docker/sonar_qube/sonarqube_extensions:/opt/sonarqube/extensions
- /usr/local/docker/sonar_qube/sonarqube_logs:/opt/sonarqube/logs
ports:
- "32004:9000"
db:
image: postgres:12
environment:
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
volumes:
- /root/docker/sonarqube/postgresql:/var/lib/postgresql
- /root/docker/sonarqube/postgresql_data:/var/lib/postgresql/data
ports:
- "5432:5432"
构建命令
docker compose up -d
3.目录挂载
-v 主机目录:容器目录
docker run -p 本机端口:容器端口 --name 容器名字 -v 主机目录:容器目录 容器ID
4.容器网络设置
创建网络 docker network create test-net
创建容器1:docker run -d -p 8080:8080 --network test-net --name auth xxxxxxx
创建容器2:docker run -d -p 6379:6379--name --network test-net redis xxxxxxx
此时两个容器之间就处于一个网络。
5.登录Docker私有仓库
docker login ip -u 登录名 -p 密码