Docker容器搭建及应用

Docker简介:

Docker是一个用于开发、迁移、运行的开发平台。它使你能够将你的应用程序从基础架构中分离,从而可以快速交付。使用Docker,你可以以与管理应用程序相同的方式来管理这些基础架构。使用Docker的方法,进行快速开发,测试,并可以显著的减少编写代码和运行之间的时间延迟。

一、 Docker的部署与安装
1.安装docker和相关依赖性:

[root@server1 docker]# ls
container-selinux-2.21-1.el7.noarch.rpm
docker-ce-18.06.1.ce-3.el7.x86_64.rpm
libsemanage-2.5-8.el7.x86_64.rpm
libsemanage-python-2.5-8.el7.x86_64.rpm
pigz-2.3.4-1.el7.x86_64.rpm
policycoreutils-2.5-17.1.el7.x86_64.rpm
policycoreutils-python-2.5-17.1.el7.x86_64.rpm
[root@server1 docker]# yum install -y *

2.打开docker服务

systemctl start docker

3.在安装好docker后,linux系统会为docker容器分配一个ip,利用ip addr中查看docker0的ip

ip addr

在这里插入图片描述
4.查看docker的版本信息

[root@server1 ~]# docker version

在这里插入图片描述
5. docker宿主机的信息

[root@server1 ~]# docker info

在这里插入图片描述
二、docker常用的基础命令

# docker load -i ubuntu.tar  导入镜像
# docker run -it --name vm1 ubuntu    创建容器(以ubuntu镜像为模板)
# docker ps  查看容器状态
# docker ps -a   查看容器状态(包括不活跃的容器)
# docker attach vm1   连接容器
# docker top vm1   查看容器进程
# docker logs vm1 查看容器指令输出 -f 参数可以实时查看
# docker inspect vm1 查看容器详情
# docker stats vm1 查看容器资源使用率
# docker diff vm1 查看容器修改
# docker stop vm1 停止容器
# docker start vm1 启动容器
# docker kill vm1 强制干掉容器
# docker restart vm1 重启容器
# docker pause/unpause vm1  暂停/恢复容器
# docker rm vm1  删除容器

在这里插入图片描述
关于如何结束交互式界面:

ctrl+pq(先p后q)   不停止容器,后台运行
ctrl+d    	    直接结束容器,释放内存
rm   				删除容器
rmi  			    删除镜像

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、镜像的导入和容器的使用

  • 简单搭建一个2048小游戏

1.导入镜像game2048.tar

扫描二维码关注公众号,回复: 6441386 查看本文章
[root@server1 ~]# docker load -i game2048.tar 

2.运行镜像

[root@server1 ~]# docker run -d -p 80:80 --name 2048 game2048
#-p表示端口映射,因为docker生成的是虚拟ip,无法直接在物理机访问,所以我们要端口影射到本机虚拟机的ip
#-d打入后台
# --name表示为这个容器起的名字是game

端口映射效果查看
在这里插入图片描述
3.查看2048容器的信息
[root@server1 ~]# docker inspect 2048
在这里插入图片描述

4.在物理机浏览器上输入虚拟机ip,因为做了端口映射,所以其实访问的是172.17.0.2
在这里插入图片描述

  • 快速搭建nginx

因为我们把vm2也映射在了80端口,为了消除影响停止2048容器,

 [root@server1 ~]# docker stop 2048

1.导入镜像,并创建容器vm2

[root@server1 ~]# docker load -i nginx.tar 
[root@server1 ~]# docker run -d -p 80:80 --name vm2 nginx

2.查看vm2的信息

[root@server1 ~]# docker inspect vm2

3.浏览器访问虚拟机ip
在这里插入图片描述4.编写一个默认发布页面,并cp到容器内部

[root@server1 ~]# cd /tmp/
[root@server1 tmp]# mkdir docker
[root@server1 tmp]# cd docker/
[root@server1 docker]# vim index.html
hello
[root@server1 docker]# docker cp index.html vm2:/usr/share/nginx/html

测试:
在这里插入图片描述

5.也可以直接挂载默认发布页(-v参数)

[root@server1 docker]# docker rm -f vm2
vm2
[root@server1 docker]# docker run -d -p 80:80 --name vm2 -v /tmp/docker/:/usr/share/nginx/html nginx
# -v 挂载目录(前面表示宿主机目录,后面表示容器内的目录)
[root@server1 docker]# vim index.html 
hello world

访问测试:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qwqq233/article/details/90694692