Docker 三大组件
仓库:存放各种各样已经打包好的Docker应用
镜像:按照Docker的规则制作的应用。(像Windows 安装软件包)
容器:;利用镜像创建容器:启动预先定义好的进程与用户交互,对提 供服务。一个镜像可以创建多个名字不同的容器
基础命令
启动 查询
容器启动:docker run –it/-d –p/P –name imageID/name
容器启动/重启/停止: docker start/restart/stop 容器id
容器进入:docker attach containerID 这个进入退出的话,容器会停掉
docker exec –it containerID /bin/bash
容器查询:docker inspect containerID
docker top containerID
docker diff containerID
列出本地镜像
docker images
- -q 只显示镜像ID
删除容器
docker rm
- -f :通过SIGKILL信号强制删除一个运行中的容器
- -v :-v 删除与容器关联的卷
删除镜像
docker rmi
- -f 强制删除
更新镜像
docker pull hub.c.163.com/library/mysql:latest
docker pull hub.c.163.com/library/wordpress:latest
- latest 标记最新版本
创建并运行容器
Docker run
docker run -name db --env MYSQL_ROOT_PASSWORD=example -d mariadb
docker run -name MyWordPress --link db:mysql -p 8080:80 -d wordpress
- 以上wordpress由apache 和 mariadb 组成
- 多容器是由link进行连接由数据。条件 --link db:mysql必须必wordpress先创建并运行
- 删除或停止也需要按顺序 先 wordpress 在 mysql
-name 指定容器名字
-e 指定环境变量,容器中可以使用该环境变量
-d 指定容器运行于前台还是后台
-p 指定容器暴露的端口
–link 指定容器间的关联
-i 打开STDIN,用于控制台交互
-t 分配tty设备,该可以支持终端登录
查找镜像 版本
docker search +镜像名字
docker version
获取容器/镜像的基本信息
- 基本信息:存储位置,配置参数,网络设置等
docker inspect + 容器名
-f :指定返回值的模板文件。
-s :显示总的文件大小。
运行的容器中执行命令
docker exec -it 容器名 /bin/bash
[root@localhost ~]# docker exec -it mysql_wordpress /bin/bash
root@58351ba956ab:/# pwd
/
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端
从容器创建一个新的镜像
docker commit
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。
容器编排工具
- 把同一个服务多个容器依次创建和启动
Docker-compose
安装方式
curl -L https://github.com/docker/compose/release/download/1.6.0/docker-compose-'uname -s'-'uanme -m'>/usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
创建
mkdir ~/wordpress
vim docker-compose.yml 默认文件名
wordpress:
image: wordpress
link:
- db:mysql
ports:
- 8080:80
db:
image: mariadb
environment:
MYSQL_ROOT_PASSWORD: example
执行
cd ~/wordpress &&docker-compose up
docker-compose start
docker-compose stop