- Centos.x 系统
- yum install docker
- chkconfig docker on
- systemctl start docker service
- systemctl status docker service
- Ubuntu > 14.04 系统
- apt-get -y install docker.io
- service docker.io status
- docker 安装镜像
- docker pull 镜像名
- 如果不确定版本,可以先运行 docker search 镜像名 搜寻镜像
- 拉取和删除镜像
- 删除镜像
- docker rmi <镜像名>
- 拉取镜像
- docker pull <镜像名>
- 查看镜像
- docker images
- 仓库名
- 镜像标签信息
- 镜像ID
- 创建时间
- 镜像大小
- docker inspect <ID> //查看镜像详细信息
- 删除镜像
- 创建镜像
- 基于已有的镜像容器创建
- docker commit -a <作者> -m <提交信息> --pause=true
- 例如: docker commit -a "duankun" -m "new ubuntu" (容器ID)179f18f744ff testimage
- 注意, id 一定要是已经启动的容器ID
- 基于本地模板导入
- sudo cat <tar.gz> | docker import -<name>:<tag>
- https://openvz.org/Download/template/precreated
- 基于已有的镜像容器创建
- 存出和载入镜像
- 存出镜像
- docker save -o **.tar <name>:<tag>
- 载入镜像
- docker load --input 或 < **.tar
- 存出镜像
- 上传镜像
- docker tag <ID> <accountName>/<imageName>:<tag>
- docker push <accountName>/<imageName>:tag
- 下载镜像
- docker pull <accountName>/<imageName>:tag
- 创建并启动容器
- 创建容器
- docker create -it <name>:tag //只是创建容器,并没有启动容器,可以是已存在的镜像,也可以是不存在的镜像
- 启动容器
- docker start <ID> //启动已经创建的容器
- 创建容器
- 启动容器并查看日志
- 新建并启动容器
- docker run -t <ID> /bin/bash //此ID是镜像的ID
- 守护态运行
- docker run -d <ID> /bin/bash -c 'while true;do echo hello world;sleep 1;done'
- 新建并启动容器
- 终止\进入\删除容器
- 终止容器
- docker stop <ID> //容器ID
- 进入容器
- docker exec -it <ID> /bin/bash
- 删除容器
- docker rm -f <ID>
- 终止容器
- 导入\导出容器
- 导入镜像
- cat **.tar | docker import -<name>:<tag>
- 从容器导出镜像
- docker export <ID> > **.tar
- 导入镜像
- 搭建私有仓库
- docker pull registry
- docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
- http://<IP地址>:5000/v2_catalog
- 数据卷
- 在容器中创建一个数据卷
- docker run -v <host DIR>:<container DIR><name> <commond>
- 举例:docker run -d -P --name web -v /webapp:training/webapp python app.py
- 如果有多个数据卷,可以写多个 -v
- 在容器中创建一个数据卷
- 数据卷容器
- 举例
- docker run -it -v /dbdata --name dbdata ubuntu
- docker run -it --volumes-from dbdata --name db1 ubuntu
- docker run -it --volumes-from dbdata --name db2 ubuntu
- 举例
- 利用数据卷容器迁移数据
- 备份
- docker run --volume-from dbdata -v $(pwd):/backup --name worker tar cvf /backup/backup.tar /dbdata
- 恢复
- docker run -v /dbdata --name dbdata2 ubuntu2 ubuntu /bin/bash
- docker run -volumes-from dbdata2 -v $(pwd)://backup busybox tar xvf /backup/backup.tar
- 备份
- 网络配置
- 访问容器应用
- -P 随机端口
- docker run -d -P training/wabapp python app.py
- -p 指定端口
- 映射多有IP docker run -d -p 5000:5000 --name web training/webapp python app.py
- 映射到指定地址和端口 docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py
- 映射到指定地址的任意端口 docker run -d -p 127.0.0.1:5000 training/webapp python app.py
- 插看映射端口配置 docker port
- -P 随机端口
- 访问容器应用