安装docker
用宝塔面板安装,贼简单
使用docker镜像
- 镜像(理解为安装软件的),容器(软件)
- 获取docker镜像 docker pull 镜像名:版本号 例如:docker pull ubuntu:18.04,如果不指定版本,默认下载最新版 latest,如果使用最新版,就会面临随着最新版本改变而改变,内容将不会稳定,所以避免
- 运行容器:docker run -it ubuntu:18.04 bash
- shell不是具体哪一款程序,是一类程序的统称,这些程序只要是能够按照用户的要求去调用操作系统的接口,就可以称之为shell程序,linux发展至今,有许多shell程序,其中一款软件叫做bash.
- 查看镜像列表:docker images
- 使用inspect查看镜像详细信息:docker inspect ubuntu:18.04
- 条件搜索镜像:docker search -f=is-official=true nginx
- 删除镜像:docker rmi 镜像名:版本号
- 查看所有容器:docker ps -a
容器
- 新建容器:docker create -it ubuntu:latest
- 新建的容器处于停止状态,启动容器:docker start 容器id | 容器名称
- 新建并且启动容器:docker run ubuntu
- 查看容器的日志:docker logs 容器id
- 停止容器:docker stop 容器id
- 进入容器;docker exec -it 容器id /bin/bash
- 删除容器:docker rm 容器id
- 查看容器的详情:docker container inspect 容器名|容器id
仓库
docker hub
docker数据处理
- 数据卷:容器内数据直接映射到本地主机环境
- 数据卷服务器:使用特定容器维护数据
- 创建数据卷:docker volumn create -d local test
- 创建web容器,并且创建一个数据卷挂载到容器的/opt/webapp目录:docker run -d -P --name web --mount type=bind,source=/webapp,destination=/opt/webapp python app.py
- 用-v ,docker run -d -P web -v /webapp:/opt/webapp
- 数据卷容器,专门提供数据卷给其他容器
- 创建数数据卷容器:docker run -it -v /dbdata --name dbdata ubuntu
- 其他容器挂载到dndata容器:docker run -it --volumes-from dbdata --name db1 ubuntu
这样这个容器就都挂载到了相同的/dbdata目录上,三个容器,任何一方写入,都可以看到
端口映射
- -P 会随机映射一个49000~49900的端口到内部容器开放的网络端口,-p 指定端口
- docker run -d -p 5000:5000 镜像名,绑定多个docker run -d -p 5000:5000,-p 3000:80 镜像名
- docker port 容器名,查看容器端口
Dockerfile
- dockerfile 由一行行命令组成,支持#开头的注释
- dockerfile主体内容有四部分:基础镜像信息,维护者信息,镜像操作指令,容器i启动时执行指令
- 每运行一条run指令,镜像添加新的一层,并且提交,最后是cmd指令,运行容器的操作指令
- docke容器支持ssh远程连接,需要进行配置
WEB
- Apache是一个高稳定性的web服务器
- 编写dockerfile,然后docker build -t apche2-image .利用dockerfile创建镜像