深入浅出的——docker命令详解

前戏准备

  •     一些操作都需要root权限操作,从用户角色转换到root角色命令:sudo su
  •     启动docker服务:service docker start
  •     (docker所有的操作,都是基于启动docker服务,不然会报:Cannot connect to the Docker daemon. Is the docker daemon running on this host?)
  •     查看镜像列表:docker images
  •     查看已启动的容器列表:docker ps
  •     查看所有的容器列表:docker ps -a
  •     简单的开启一个容器:docker start 容器ID
  •     进入容器:docker attach 容器ID

1.首先在宿主机(虚拟机centOS7)上安装docker:

参考菜鸟教程:http://www.runoob.com/docker/centos-docker-install.html

2.之后拉取Ubuntu镜像:

参考:http://blog.csdn.net/gaoxinghuan/article/details/56352060

3.下载jdk/tomcat安装包,并且从宿主机(虚拟机)挂载到容器中:

3.1 centOS把源文件夹(/home/xiaoxie/javawebTool/)下的安装包复制到-->目标文件夹(/opt/soft/)下:

cp -Rf /home/xiaoxie/javawebTool/* /opt/soft/

(cp   -Rf     源文件夹下的所有文件     目标文件夹)

3.2 运行镜像(镜像id),并将宿主机/opt/soft目录挂载到容器的/opt/soft上 :

    docker run -i -t -v /opt/soft/:/opt/soft/ 9b9cb95443b5 /bin/bash

(docker run -i -t -v 宿主机文件目录 : 容器文件目录  镜像id  /bin/bash)

4.在容器内安装jdk和tomcat:

4.1 安装jdk到/opt/jdk:

    创建文件夹jdk:mkdir /opt/jdk

                          (mkdir  创建的文件夹)

    解压jdk安装包到/opt/jdk文件下:tar -zxvf jdk-8u161-linux-x64.tar.gz -C  /opt/jdk

                                                     (tar -zxvf      要解压文件的全路径        -C   安装路径)         

    centOS在docker中配置jdk的环境变量:

    第一步:echo -e "\n\nexport JAVA_HOME=/opt/jdk/jdk1.8.0_161" | tee -a /etc/profile


    第二步:echo -e "\nexport PATH=\$PATH:\$JAVA_HOME/bin" | tee -a /etc/profile

 

    第三步:source /etc/profile 

    最后检查:java -version

 

4.2 安装tomcat到/opt/tomcat:

    创建文件夹tomcat:mkdir tomcat

    解压tomcat安装包:tar -zxvf apache-tomcat-7.0.85.tar.gz -C /opt/tomcat/


 

5.把配置好jdk、tomcat的容器commit成镜像,方便以后使用:

docker commit -m "first ubuntu" -a "xiaoxie" efa4ec8b663c docker.javaweb
(docker commit  -m "提示信息"      -a"作者"          容器id             镜像名称)

6.启动新生成的镜像,把宿主机器的80端口映射到容器的8080端口

(这一步导致,访问ip+端口号(8080)变成了直接访问域名,因为宿主机器的80端口是访问web的默认端口。)

    docker run -it  --name  tomcat  -p  80:8080  docker.javaweb  /bin/bash

(docker run -it  --name 容器名称 -p 宿主机端口  :  容器的端口  镜像名称   /bin/bash)

启动tomcat:

    配置环境:source /etc/profile

    进入到tomcat的bin目录:cd /opt/tomcat/apache-tomcat-7.0.85/bin/

    启动tomcat:./startup.sh

访问tomcat:
    在宿主机器上访问查询IP端口:ip addr

    (用来查找访问tomcat的域名)

tomcat访问结果截图:

---------------------------------------------------------------------------打完收工。

但有了疑惑,宿主机如何找到容器中的端口,或者说,宿主机和容器是如何通信的?

7.宿主机和容器是如何通信的:

给出流程图:

如有不懂,请参考:点击打开链接,此流程图便是阅读这篇知乎文章,根据自己理解所画。

---------------------------------------------------------------------------不关注我“象话”吗?

如有疑惑,请评论留 言。)    有需要的联系我yxxy 1717     qq     2189384986

猜你喜欢

转载自blog.csdn.net/qq_42851004/article/details/81951935