docker教程


简介

docker相当于一个拥有通用环境的容器,他解决了在开发中配置环境的各种烦人问题。一般来说,配置环境要踩的坑是很多而且花时间的,而且这些对一个项目的逻辑理解是没有什么关联的。假设有一个技术可以直接将创建好的环境制作成一个镜像,类似于虚拟机的东西在电脑中,一件配置,安装等,将会大大节省运维的成本和提高开发效率。

常见名字解释

镜像(image):
可以理解为包可以理解为包(package)
# 查看容器列表    
docker image ls
docker images
容器( cotainer ):
可以理解为镜像(image) 跑起来的运行环境
# 查看容器列表
docker ps
docker ps -a
docker container ls
# 开始一个容器
docker start CONTAINER ID 
# 删除容器列表
docker rm [OPTIONS] CONTAINER [CONTAINER...]
# 运行容器
# 运行容器参数众多,基本都会根据需求来附带自己的参数,各个参数的含义,可以参考链接
# https://www.runoob.com/docker/docker-run-command.html
docker run -d -p 80:80 container-backup
docker run -itd -p 6999:6999 --name ubuntu1 ubuntu:18.04

常用操作

备份容器:
# container-backup: 容器描述
docker commit -p 容器名 container-backup
# container-backup.tar: 容器备份后的压缩包
docker save -o ~/container-backup.tar container-backup
加载备份的容器
docker load -i ~/container-backup.tar
容器互连,互联
我们往往会有不同容器间相互通信的需求,比如 博客容器 blog 需要连接 数据库容器 msyql 的服务,这时候就用到了容器互联。
# 创建网络
docker network create -d bridge 网络名
# 加入容器到网络
docker network connect 网络名 容器名/ID

# 查看容器日志
docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID
docker logs --since 30m CONTAINER_ID