docker 基础入门

docker是什么?

docker属于linux容器的一种封装,提供了简单易用的接口

linux容器不是一个完整的操作系统,而是对进程进行隔离。 它有启动快资源占用少体积小等优点

而虚拟机在与环境配置搭建上不仅资源占用多冗余步骤多启动慢

docker常见应用

提供一次性服务

  • 如定时启动服务,完成任务后关闭,节省资源
  • 随时开关容器,动态扩容、缩容

快速搭建服务,提供长期服务

  • 数秒内即可迅速搭建如mysql + php + nginx环境
  • 支持多平台,提供无环境差别服务
  • 快速搭建多配置环境,如develop、staging、production

docker 的安装

windows

mac

centos

ubuntu

安装后查看docker版本

1
docker version

image

image包含应用程序及其相关依赖。 通过image生成docker容器来提供服务。
类似虚拟机的镜像文件。同一个image可以生成多个容器

查看本地所有image

1
docker image ls

docker hub 是docker官方的image仓库,在这里可以上传自己的image和使用他人制作完成的image

第一个应用

以mysql为例

mysql hub地址

1
docker run --name test -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8

常用参数说明

参数 说明
–name 容器名称
-d 容器后台运行,默认不加此参数时为前台运行
-i 打开STDIN,用于控制台交互
-t 分配tty设备,支持终端登录
-p 端口映射: {本地端口}:{容器内部端口}
-P 暴露所有容器端口
-v 目录映射: {本地目录}:{容器内部目录}
-e 设置环境变量
–env-file 指定环境变量文件,文件格式为每行一个环境变量
–rm 容器停止后自动删除
-m 指定容器内存上限
-h 指定容器的主机名

查看正在运行的docker容器

1
docker ps

添加phpmyadmin管理mysql

1
docker run --name myadmin -d --link test:db -p 8081:80 phpmyadmin

查看所有的docker容器

1
docker ps -a

查看log

1
docker logs test

监视log

1
2
3
docker logs -f test

# 类似于tail -f file.log

通过命令行访问容器内部

并非所有容器都包含bash,有些仅提供sh

1
docker exec -it test bash

输入exit退出

在容器内部执行命令

1
docker exec test /bin/bash -c 'e="hello world" && echo $e'

删除容器

1
docker rm container1 container2

删除运行中的容器

1
docker rm -f container1 container2

搭建常见应用

wordpress

wordpress hub

1
docker run --name some-wordpress -p 8082:80 -d wordpress
#

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×