Linux下docker应用初体验之nginx,ubuntu,rhel7镜像的使用(二)(docker版本:18.06.1-ce)

续我的上篇博文:https://mp.****.net/postedit/88584240

 

一.实验环境(rhel7.3版本)

1.selinux和firewalld状态为disabled

2.各主机信息如下:

主机 ip
物理机(Docker) 172.25.83.83/172.25.254.83

 

二.nginx镜像的使用一

 

1.下载nginx.tar,并加载nginx镜像

 

[[email protected] images]# docker load -i nginx.tar 

 

2.查看加载的nginx镜像

 

[[email protected] images]# docker images nginx
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              e548f1a579cf        13 months ago       109MB

 

3.使用docker镜像nginx以后台模式启动一个容器,并将容器命名为vm1

 

[[email protected] images]# docker run -d --name vm1 nginx
ab01748bcf6eef898aad056e36d69c46a568d8198e260eafc2071086a74b9f0e
[[email protected] images]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                           NAMES
ab01748bcf6e        nginx               "nginx -g 'daemon of…"   18 seconds ago      Up 18 seconds       80/tcp                          vm1
59ec910dfc29        game2048            "/bin/sh -c 'sed -i …"   2 hours ago         Up 2 hours          443/tcp, 0.0.0.0:8080->80/tcp   game

 

4.获取容器vm1的元数据

 

[[email protected] images]# docker inspect vm1


Linux下docker应用初体验之nginx,ubuntu,rhel7镜像的使用(二)(docker版本:18.06.1-ce)

 

5.

测试1.:访问172.17.0.3——>index.html文件(nginx自带的)中编写的内容

Linux下docker应用初体验之nginx,ubuntu,rhel7镜像的使用(二)(docker版本:18.06.1-ce)

 

测试2.:自己编写index.html文件,并将其拷贝到容器vm1的默认发布目录,然后访问172.17.0.3——>index.html文件(自己编写的)中编写的内容

[[email protected] mnt]# pwd
/mnt
[[email protected] mnt]# vim index.html
<h1>www.westos.org</h1>
[[email protected] mnt]# docker cp index.html vm1:/usr/share/nginx/html

Linux下docker应用初体验之nginx,ubuntu,rhel7镜像的使用(二)(docker版本:18.06.1-ce)

 

三.nginx镜像的使用二(续一)

 

删除vm1容器,为后续实验做准备

[[email protected] mnt]# docker rm -f vm1 
vm1
[[email protected] mnt]# docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                           NAMES
59ec910dfc29        game2048            "/bin/sh -c 'sed -i …"   2 hours ago         Up 2 hours          443/tcp, 0.0.0.0:8080->80/tcp   game

 

1.使用docker镜像nginx以后台模式启动一个容器,将本地的/mnt目录(该目录下有index.html文件)挂载到容器vm1下的/usr/share/nginx/html目录下(那么容器内/usr/share/nginx/html目录中的内容就是本地主机/mnt目录中的内容),并将容器命名为vm1。

 

[[email protected] mnt]# docker run -d --name vm1 -v /mnt/:/usr/share/nginx/html nginx
d508fefeb4a27f42f4fcfdcbd78fa2dfd0d4783bfd023d3cb85fb5e59b193d37
  • 验证容器vm1内/usr/share/nginx/html目录中的内容就是本地主机/mnt目录下的内容

Linux下docker应用初体验之nginx,ubuntu,rhel7镜像的使用(二)(docker版本:18.06.1-ce)

 

2.获取容器vm1的元数据

 

[[email protected] mnt]# docker inspect vm1


Linux下docker应用初体验之nginx,ubuntu,rhel7镜像的使用(二)(docker版本:18.06.1-ce)

 

3.测试:访问172.17.0.3——>index.html文件(/mnt目录下的)中编写的内容

Linux下docker应用初体验之nginx,ubuntu,rhel7镜像的使用(二)(docker版本:18.06.1-ce)

 


值的注意的是:挂载时,不能将本地主机的家目录(对于root用户来说是/root目录;对于普通用户来说是/home/kiosk目录)进行挂载。否则会导致实验失败。


 

四.ubuntu镜像的使用

 

删除vm1容器,为后续实验做准备

[[email protected] mnt]# docker rm -f vm1 
vm1
[[email protected] mnt]# docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                           NAMES
59ec910dfc29        game2048            "/bin/sh -c 'sed -i …"   2 hours ago         Up 2 hours          443/tcp, 0.0.0.0:8080->80/tcp   game

 

1.下载ubuntu.tar,并加载ubuntu镜像

 

[[email protected] images]# docker load -i ubuntu.tar 

 

2.查看加载的ubuntu镜像

 

[[email protected] images]# docker images ubuntu
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              07c86167cdc4        3 years ago         188MB

 

3.使用docker镜像ubuntu以后台模式启动一个容器,并将容器命名为vm1,并在bash交互界面进行测试

Linux下docker应用初体验之nginx,ubuntu,rhel7镜像的使用(二)(docker版本:18.06.1-ce)

 

五.rhel7镜像的使用

 

删除vm1容器,为后续实验做准备

[[email protected] mnt]# docker rm -f vm1 
vm1
[[email protected] mnt]# docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                           NAMES
59ec910dfc29        game2048            "/bin/sh -c 'sed -i …"   2 hours ago         Up 2 hours          443/tcp, 0.0.0.0:8080->80/tcp   game

 

1.下载rhel7.tar,并加载rhel7镜像

 

[[email protected] images]# docker load -i rhel7.tar 

 

2.查看加载的rhel7镜像

 

[[email protected] images]# docker images rhel7
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
rhel7               latest              0a3eb3fde7fd        4 years ago         140MB

 

3.使用docker镜像rhel7以后台模式启动一个容器,并将容器命名为vm1,并在bash交互界面进行测试

Linux下docker应用初体验之nginx,ubuntu,rhel7镜像的使用(二)(docker版本:18.06.1-ce)

 

 

值的注意的是:使用rhel7镜像启动容器时,后面必须加/bin/bash(这是因为rhel7镜像本身没有bash界面),而使用nginx镜像启动容器时,后面不需要加/bin/bash(这是因为nginx镜像本身有bash界面)

Linux下docker应用初体验之nginx,ubuntu,rhel7镜像的使用(二)(docker版本:18.06.1-ce)