`

docker初探

 
阅读更多

 

1、docker , 先从仓库中下载一个和自己的  linux 一致的 centos  image 。

    命令: docker pull centos

 

2、运行  centos 镜像,运行起来后成为一个 container

 

  image_id 用  docker images 命令查看

  docker run -i -t -v /root/software/:/mnt/software/   image_id   /bin/bash

  docker run <相关参数> <镜像 ID> <初始命令>
  其中,相关参数包括:

-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
假设我们的所有安装程序都放在了宿主机的/root/software/目录下,现在需要将其挂载到容器的/mnt/software/目录下。

需要说明的是,不一定要使用“镜像 ID”,也可以使用“仓库名:标签名”,例如:docker.cn/docker/centos:centos6。
初始命令表示一旦容器启动,需要运行的命令,此时使用“/bin/bash”,表示什么也不做,只需进入命令行即可。

命令提示处会出现  image_id

 

在 容器中操作, 如设置环境,安装软件,启动脚本等。

 

退出 容器 (exit) , 回到  linux 提示符。

 

3、提交刚才的运行的 容器,转化为  image ,

docker pa -a 查询 最近运行的 容器, 记录下  container_id

 

docker commit  container_id   image_name:version

 

image_name , version 值有自己确定。

 

4、运行 刚提交的 image , 主要是运行在  image 中建立的 程序 或者脚本,

    如  image 中安装了  tomcat ,  其启动脚本为:  run.sh

 

docker run -d -p 58080:8080 --name 别名   镜像名:版本   /root/run.sh

-d:表示以“守护模式”执行/root/run.sh脚本,此时 Tomcat 控制台不会出现在输出终端上。
  -p:表示宿主机与容器的端口映射,此时将容器内部的 8080 端口映射为宿主机的 58080 端口,这样就向外界暴露了 58080 端口,可通过 Docker 网桥来访问容器内部的 8080 端口了。
  --name:表示容器名称,用一个有意义的名称命名即可。
  关于 Docker 网桥的内容,需要补充说明一下。实际上 Docker 在宿主机与容器之间,搭建了一座网络通信的桥梁,我们可通过宿主机 IP 地址与端口号来映射容器内部的 IP 地址与端口号,

 

 5、修改  image , 仓库步骤  2。

     

        docker run -i -t image_id

 

      进入运行中的 container

       
        docker attach container_id

 

简单记录,公参考。

      

 

 

 

 

 

 

0
0
分享到:
评论
1 楼 白云天 2017-09-09  
登录到 容器内部
docker ps -a
查询容器ID

sudo docker inspect -f {{.State.Pid}} 容器ID
查询进程号

sudo nsenter --target 进程号 --mount --uts --ipc --net --pid

登录到容器内部

相关推荐

Global site tag (gtag.js) - Google Analytics