Securely build, share and run any application, anywhere
一、常用名词
1、docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
一个完整的docker由以下及部分组成:
- dokerclient客户端
- docker daeman 守护进程
- docker image镜像
- dockercontainer容器
2、docker compose
docker compose 是一个用于定义和运行多容器的docker的应用程序工具。
二、常用命令
1、docker测试
docker run hello-world
2、查看容器日志
docker logs 容器id/名称
3、停止容器
docker stop 容器id
停止所有的容器
docker stop $(docker ps -a -q)
4、删除容器
docker rm 容器id
删除终止状态的容器;若要删除运行中的容器,需要添加参数-f
删除所有的容器
docker rm $(docker ps -a -q)
5、查看容器列表
docker ps
6、载入镜像
dcker pull 镜像
例如:
docker pull training/webapp
运行镜像:
dokcer run -d -P trainting/webapp python app.py
参数说明:
-d:让容器在后台运行
-P:将容器内部使用的网络端口映射到主机上
7、查看网络端口
docker port 容器Id
8、查看web应用程序容器的进程
docker top 容器名称/id
9、查看/列出镜像
docker images
通过 REPOSITORY.TAG 来定义不同的镜像。
10、删除镜像
docker rmi 镜像id
删除untagged images
即id为<None>的image
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
删除全部image
docker rmi $(docker images -q)
11、获取新镜像
docker pull
例如:
docker pull ubuntu:13.10
12、查找镜像 https://hub.docker.com/
docker search 镜像名称
例如:
docker search httpd
13、容器命名
docker --name
三、开机启动
1、查看已经启动的服务
systemctl list-units --type=service
2、查看是否设置开机启动
systemctl list-unit-files | grep enable
3、设置doker开机启动
systemctl enable docker.service
4、关闭docker开机启动
systemctl disable docker.service
四、示例
以运行 redis 为示例
1、查询可用镜像
docker search redis
2、拉取 redis 镜像
docker pull redis:latest
3、查看本地镜像
docker images
4、运行 redis 镜像
docker run -itd --name redis-test -p 6379:6379 redis
参数说明:
-p 6379:6379:映射容器服务的 6379 端口到宿主机的 6379 端口。外部可以直接通过宿主机ip:6379 访问到 Redis 的服务
5、通过 redis-cli 连接测试使用 redis 服务
docker exec -it redis-test /bin/bash