SOA
微服务
框架工具
Docker 容器
相关概念:
- 镜像: 镜像是一个只读的文件系统,包括应用文件、环境文件。它通常包含堆叠在彼此之上的联合分层文件系统。 一个Docker容器中往往有多个不同的镜像。镜像没有状态并且始终不会发生更改。
- 自定义镜像, 及其两种方式
- 通过Dockerfile文件快速创建镜像, 编写Dockerfile文件,然后执行docker build命令创建镜像
- 使用docker commit 命令从容器创建一个新的镜像
- 仓库
- 本地镜像仓库
- 远程镜像仓库
- 容器
- Docker 容器是Docker镜像的运行时实例。Docker 容器中包含Docker 镜像执行环境一组标准指令此概念借用自船运集装箱,它们定义了在全球运送货物的标准。Docker 定义了交付软件的标准。
常用命令:
- 登录Docker 镜像仓库: docker login [OPTIONS] [SERVER]
- 搜索远程仓库镜像,如docker search centos表示搜索与centos相关的镜像: docker search [OPTIONS] TERM
- 从远程仓库拉取镜像到本地,默认tag(版本号)是latest: docker pull [OPTIONS] NAME[:TAG|@DIGEST]
- OPTIONS: -a :拉取所有 tagged 镜像
- 如:docker pull centos表示拉取最新的centos镜像到本地
- docker rmi [OPTIONS] 镜像ID/仓库名:镜像名
- 删除本地仓库中的镜像
- OPTIONS: -f:强制删除
- docker run [OPTIONS] [镜像ID/仓库名:镜像名]
- 包含两步操作: 1、将镜像放到容器中2、启动容器,相当于docker start
- OPTIONS: 1)-i:以交互模式运行,通常与 -t 一起使用简写为-it2)-d:以后台程序运行,并返回容器ID3)-p:指定端口映射,宿主机端口:容器端口4)--name:为容器指定一个名称
- docker run -it 镜像ID/仓库名:镜像名 /bin/bash可以进入docker容器中的命令行模式 exit 或 Ctrl+D 命令退出并销毁当前docker容器Ctrl+P,Ctrl+Q也可退出,且不会销毁docker容器
- 端口映射
- 命令格式: docker run -p 宿主机端口:容器端口docker run -P
- -p:指定映射端口 -P:随机映射端口
- 1)使用 -P 标记时,Docker 会随机映射一个 49000~49900 的端口到内部容器开放的网络端口; 2)-p则可以指定要映射的IP和端口,但是在一个指定端口上只可以绑定一个容器。支持的格式有 hostPort:containerPort、ip:hostPort:containerPort、 ip::containerPort。
- 如:docker run -p 80:80 --name mynginx -p 80:80:将容器的80端口映射到主机的80端口 --name mynginx:将容器命名为mynginx
- 如创建并启动mysql容器: docker run --name mysql -p 3306:3306 -v /var/lib/mysql/:/var/lib/mysql/ -e MYSQL_ROOT_PASSWORD=123 -d mysql:5.7其中 --name 指定容器以mysql命名, -p 指定端口映射,-v 指定挂载宿主机目录,-e 指定环境变量,-d 指定镜像
- docker start/stop/restart <容器名或ID>
- 启动, 停止, 重启(相当于停止+启动)
- docker rm <容器名或ID>
- 删除指定的容器,该容器必须已经停止运行
- docker commit <容器名或ID>
- 使用容器创建镜像
- docker push [仓库名:镜像名]
- 将本地镜像推送至远程仓库
- docker ps [OPTIONS]
- 查看容器
- 如: docker ps:查看正在运行的容器docker ps -a:查看所有的容器,包括已经停止的
- docker images [OPTIONS] [REPOSITORY[:TAG]]
- 查看本地有哪些镜像
- docker logs <容器名或ID>
- 查看容器日志
- docker port <容器名或ID>
- 查看容器端口映射情况
- docker exec -it <容器名或ID> bash
- 以交互模式进入正在运行的容器,输入 exit 则退出