摘自菜鸟教程
一、容器生命周期管理
1、docker run
创建一个新的容器并运行一个命令
2、docker start/stop/restart
docker start :启动一个或多个已经被停止的容器
docker stop :停止一个运行中的容器
docker restart :重启容器
3、docker kill
杀掉一个运行中的容器。
4、docker rm
删除一个或多个容器。
5、docker pause/unpause
docker pause :暂停容器中所有的进程。
docker unpause :恢复容器中所有的进程。
6、docker create
创建一个新的容器但不启动它
7、docker exec
在运行的容器中执行命令
docker exec -it 7367f6acf39b /bin/bash
二、容器操作
1、docker ps
2、docker inspect
3、docker top
查看容器中运行的进程信息,支持ps命令参数
实例
查看容器mymysql的进程信息。
$ docker top mymysql
4、attach
5、events
6、logs
7、wait
8、export
9、port
三、容器rootfs命令
1、commit
2、cp
3、diff
四、镜像仓库
1、login
2、pull
3、push
4、search
五、本地镜像管理
1、images
2、rmi
3、tag
4、build
5、history
6、save
7、load
8、import
六、info|version
1、info
2、version
七、Dockerfile文件
基本步骤:
1、下载一个基础镜像openjdk:8-jre
docker pull openjdk:8-jre
2、创建Dockerfile文件
touch Dockerfile
3、Dockerfile中写入内容
FROM openjdk:8-jre
RUN mkdir /app
COPY badger-spring-cloud-eureka-0.0.1-SNAPSHOT.jar /app/
CMD java -jar /app/badger-spring-cloud-eureka-0.0.1-SNAPSHOT.jar
EXPOSE 8761
4、构建镜像
docker build -t eureka .
注意:
build命令,是在有dockerfile文件的目录执行
在build命令的最后,有一个.,这个点,表示当前的上下文路径
创建docker实例
我的eureka的使用的是8761的端口,我的本机ip是172.16.2.54,我的三个eureka的实例的映射物理机的端口分别是8761,8762,8763。
docker run -p 8761:8761 --name eureka_01 -d eureka
docker run -p 8762:8761 --name eureka_02 -d eureka
docker run -p 8763:8761 --name eureka_03 -d eureka
我这边,直接run三个实例,端口分别做映射就可以了
八、docker-compose
Docker Compose 是 Docker 官方的开源项目编排(Orchestration)项目之一,负责实现对 Docker 容器集群的快速编排。
Compose 中有两个重要的概念:
服务 (service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
项目 (project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。
1、创建docker-compose.yml文件模板
touch docker-compose.yml
2、写入内容
version: '3'
services:
tomcat:
restart: always
image: tomcat
container_name: tomcat
ports:
- 8080:8080
3、执行启动命令语法
docker-compose up
4、卸载
docker-compose down
Docker Compose参考文章