Docker的基本操作
什么是Docker?
Docker与Virtual Machines的区别?即虚拟机与Docker与的区别?

Docker能做什么?

Docker Engine的组成部分

Docker Architecture也就是Docker的架构
Docker是一个CS架构,它会在宿主机上启一起Docker的守护进程,客户端也就是我们的docker命令;

什么是Image

docker pull hello-world是一个最小的Base Image,它也是一个镜像,可以产生容器;它是非常小的,可以通过docker image ls 查看它只有25.9Kb;
Docker基本操作
- 安装nginx,也可使用
docker pull nginx来下载;
docker run -d --name nginx -p 80:80 nginx
- 安装Redis
docker run -d --name redis -p 6379:6379 redis
- 安装MySQL
docker run -d --name mysql -p 3306:3306 -e
MYSQL_PASSWORD="123456" -v /data/mysql/data:/var/lib/mysql mysql
- 可以使用
docker search nginx来从hub.docker上搜索可用的nginx

docker rmi nginx 删除镜像;
docker ps -a 可以查看所有的容器,包括退出的容器;
docker run -d -p 80:80 nginx 说明nginx在后台启动运行并映射端口为80;
docker run -d --name nginx -p 80:80 nginx 后台运行映射端口为80,容器名nginx
docker logs -f nginx --tail=3 查看nginx日志最后3行;
docker rm nginx -f 删除容器;
docker system df -v 查看docker磁盘的使用情况;
docker run -it --rm alpine 其中 -it 可以让我的控制台进入容器进行交互;--rm 指的是当容器停止的时候就把容器删除掉;其中alpine是一个轻量级的Linux系统;
特殊案例
假如我们的服务器不能上网或没法下载镜像,可以找一台能下载镜你的电脑将镜像保存
docker save nginx > nginx.tar,本例是保存到桌面上并文件名为nginx.tar

然后上传到不能上网下载镜像的服务器中,可以使有lrsz命令进行上传;

查看下如果有nginx.tar就可以在服务器上安装了docker load < nginx.tar,也就可以通过上面的docker run 命令进行启动容器了;

常用Docker基本操作命令总结

Docker 镜像制作

用Docker 安装wordpress
#体验wordpress,需要启动两个docker镜像,一个数据库的,一个代码程序,这个比较大,所以速度可能会慢一些
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7#5.7版本的MySQL,镜像名称是mysq
docker run -d --link mysql:mysql -p 86:80 wordpress:5.6 #5.6版本的wordpress,最新版本应该已经到了6.x了,但是值得说明的一点就是封装wordpress的人为了将镜像做的比较小,没有安装中文包,所以只能是看英文的了,他会自动连接数据库。如果你发现你安装的镜像不是你要的版本,那么可能是版本指定错误了,或者是官方镜像仓库中的wordpress镜像版本有点问题了。

