Docker 基础
Docker Ubuuntu
Docker 包括三个基本概念:
- 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
- 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
- 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。
Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
Docker 容器通过 Docker 镜像来创建。
容器与镜像的关系类似于面向对象编程中的对象与类。
卸载旧版本
Docker 的旧版本被称为 docker,docker.io 或 docker-engine 。如果已安装,卸载:
$ sudo apt-get remove docker docker-engine docker.io containerd runc
安装
使用官方安装脚本自动安装如下:
curl -fsSL https://test.docker.com -o test-docker.sh
sudo sh test-docker.sh
镜像篇:
#查看镜像
docker images
#查找镜像
docker search [name]
#拉取镜像
docker pull [name:tag]
#运行镜像
docker run [name]
#删除镜像
docker rmi [name(ID)]
#离线压缩包
docker save -o name.tar.gz [imagename]
#解压离线镜像包
docker load -i name.tar.gz
容器篇:
#查看正在运行的容器
docker ps
#查看所有容器
docker ps -a
#运行容器 端口: [IP - 主机port - dockerport]
docker run -d -p 5000:5000 [name]
#stop 停止 start启动 restart重启 rm删除
docker stop [容器id]
#进入容器:
docker exec -it [name] /bin/bash
#查看容器内部标准输出
docker logs -f [容器id]
#查看容器内部运行的进程
docker top [name]
#查看 Docker 的底层信息。inspect会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息
docker inspect [name]
其他启动参数:
docker run --name=name 这里添加 -it image:tag /bin/bash
-p 宿主机端口:80 #映射容器80端口到物理机的指定端口
-P #指定随机端口映射
-e MYSQL_ROOT_PASSWORD=密码 #环境变量
-v /主机目录:/容器目录 #文件映射
配置加速镜像:
在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):
{"registry-mirrors":["https://ung2thfc.mirror.aliyuncs.com/"]}
之后重新启动服务:
sudo systemctl daemon-reload
sudo systemctl restart docker