Docker 是一个开源的容器引擎,而一个容器其实是一个虚拟化的独立的环境,因此开发者可以将应用打包到这样的一个 docker 容器中,然后发布到任何可以运行 docker 容器的机器中,实现一次打包多处部署,解决了因为环境问题而导致的部署难题。如果你对概念性的东西不是很好理解的话,也可以认为容器本身就是一个独立的虚拟的运行环境,在这个环境中我们可以打包我们的应用,如此而已。
Docker安装:
Docker的安装比较简单,我们以Centos为例来进行Docker的安装步骤。
安装命令:
- yum install docker-ce
启动Docker守护进程。
- systemctl start docker
Docker命令介绍
我们可以在终端中键入“docker run --help”来查看关于Docker命令的相关选项和帮助。
- # docker --help
- 管理命令:
- container 管理容器
- image 管理镜像
- network 管理网络
- 命令:
- attach 介入到一个正在运行的容器
- build 根据 Dockerfile 构建一个镜像
- commit 根据容器的更改创建一个新的镜像
- cp 在本地文件系统与容器中复制 文件/文件夹
- create 创建一个新容器
- exec 在容器中执行一条命令
- images 列出镜像
- kill 杀死一个或多个正在运行的容器
- logs 取得容器的日志
- pause 暂停一个或多个容器的所有进程
- ps 列出所有容器
- pull 拉取一个镜像或仓库到 registry
- push 推送一个镜像或仓库到 registry
- rename 重命名一个容器
- restart 重新启动一个或多个容器
- rm 删除一个或多个容器
- rmi 删除一个或多个镜像
- run 在一个新的容器中执行一条命令
- search 在 Docker Hub 中搜索镜像
- start 启动一个或多个已经停止运行的容器
- stats 显示一个容器的实时资源占用
- stop 停止一个或多个正在运行的容器
- tag 为镜像创建一个新的标签
- top 显示一个容器内的所有进程
- unpause 恢复一个或多个容器内所有被暂停的进程
用Docker部署一个Nginx环境
在看完上述命令后,其实我们对Docker的用法已经有了一个初步的了解,下面波波就以在Docker中部署Nginx为例,来具体分享一下容器的创建。
1、在Docker hub中查找Nginx镜像。
- # docker search nginx
在上图中我们会看到跟nginx相关的镜像,这里我们选取nginx官方镜像进行拉取。
2、下载nginx官方镜像到本地。
- # docker pull nginx
在这里顺便说一下,docker 镜像是分层存储的,所以上面的 nginx 镜像有 3 层,另外每根据新的容器制作一个新的镜像以后会给这个镜像加上一层。
3、利用该镜像创建一个容器。
- # docker run --name my-nginx -d -p 8080:80 nginx
其中:
--name 为容器取一个名字
-p 参数语法为 -p host port:container port; -p 8080:80 将主机上的8080端口绑定到容器上的80端口,因此在主机中访问8080端口时其实就是访问 nginx 容器的80端口
-d 后台运行容器
此时中浏览器中输入:http://localhost:8080/ 即可访问 nginx。到这里一个简单的nginx服务环境就搭建完成了。
Docker命令扩展:
1、查看所有运行中的容器。
- docker ps
2、查看容器运行日志。
- docker logs my-nginx
3、重启容器。
- docker restart my-nginx
4、停止运行一个容器。
- docker stop my-nginx
5、启动一个已存在的容器。
- docker start my-nginx
6、直接杀死一个运行中的容器。
- docker kill my-nginx
7、重命名容器。
- docker rename my-nginx new-nginx
8、删除容器。
- docker rm new-nginx
9、查看本机所有镜像
- docker imags
10、使用已存在的容器创建自己的镜像。
- docker commit -m "nothing changed" my-nginx my-nginx-image
这篇文章作为Docker的入门文章,相对而言写的比较简单。但是看完这篇文章,相信朋友们都可以亲自上手操作一下啦!嘿嘿~~后续遇到问题我会及时补充,敬请关注。