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
5.
测试1.:访问172.17.0.3——>index.html文件(nginx自带的)中编写的内容
测试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
三.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目录下的内容
2.获取容器vm1的元数据
[[email protected] mnt]# docker inspect vm1
3.测试:访问172.17.0.3——>index.html文件(/mnt目录下的)中编写的内容
值的注意的是:挂载时,不能将本地主机的家目录(对于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交互界面进行测试
五.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交互界面进行测试
值的注意的是:使用rhel7镜像启动容器时,后面必须加/bin/bash(这是因为rhel7镜像本身没有bash界面),而使用nginx镜像启动容器时,后面不需要加/bin/bash(这是因为nginx镜像本身有bash界面)