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 则退出