docker 基礎操做

1. 安裝dockerlinux

  系統centos 7.2docker

  yum -y install docker-ioshell

  service docker startcentos

  安裝完畢後執行 docker version 或者docker info 查看docker 信息是否安裝成功tomcat

2. 下載鏡像bash

  執行命令 docker search centos 查看centos的鏡像資源, 選擇一個鏡像spa

  執行 docker pull docker docker.io/centos 下載鏡像, docker.io/centos 就是上條命令查詢出來的鏡像名rest

  執行 docker images 查看咱們本地的鏡像資源code

3.運行鏡像進程

  執行命令 docker run -it docker.io/centos /bin/bash ,  意思是使用image建立container並進入交互模式, login shell是/bin/bash

  docker start/stop/restart <container> :開啓/中止/重啓container
    docker start [container_id] :再次運行某個container (包括歷史container)
    docker attach [container_id] :鏈接一個正在運行的container實例(即實例必須爲start狀態,能夠多個窗口同時attach 一個container實例)
    docker start -i <container> :啓動一個container並進入交互模式(至關於先start,在attach)

    docker run -i -t <image> /bin/bash :使用image建立container並進入交互模式, login shell是/bin/bash
    docker run -i -t -p <host_port:contain_port> :映射 HOST 端口到容器,方便外部訪問容器內服務,host_port 能夠省略,省略表示把 container_port 映射到一個動態端口。
    注:使用start是啓動已經建立過得container,使用run則經過image開啓一個新的container。

 docker ps -a 查看全部往過啓動過的容器 

4.安裝jdk

  首先本地某路徑如 /root 下存放了jdk 安裝包 jdk-7u80-linux-x64.tar.gz

  docker run -it -v /root:/root docker.io/centos /bin/bash , 啓動一個鏡像,並把本地/root 路徑掛載到 鏡像裏的 /root路徑下面, 而且進入交互模式

  cd /usr/local/

  tar zxf /root/jdk-7u80-linux-x64.tar.gz

  ln -s jdk1.7.0_0 jdk

  vi /etc/profile

  exit 退出容器

  exit退出容器會關閉容器,

  docker.ip/centos 鏡像並不包含咱們剛安裝的jdk,  咱們要製做一個包含了jdk的鏡像給之後使用

  執行命令 docker commit e15e4ce2355 devil/jdk  ,生成一個新鏡像, 指定建立的new iamge來自於container id e15e4ce2355,此外還爲新建的image定義一個組合devil/jdk

  執行命令 docker run -it devil/jdk 就啓動咱們剛製做的鏡像了, 若是要正常退出不關閉容器,請按Ctrl+P+Q進行退出容器

 

5.環境變量

  在容器裏配置的jdk環境變量在每次docker run啓動的時候不會生效,須要外面傳遞環境變量  ,如 docker run -it -e "JAVA_HOME=/usr/local/jdk" -e "PATH=$PATH:/usr/local/jdk/bin" devil/jdk2 /bin/bash

 

6.端口映射

  若是咱們容器裏啓動了一個tomcat ,8080端口,想外面也能訪問到容器的8080端口,須要啓動的時候指定端口映射

  如 docker run -it -p 8080:8080 -e "JAVA_HOME=/usr/local/jdk" -e "PATH=$PATH:/usr/local/jdk/bin" devil/jdk2 /bin/bash

  

7.後臺啓動

  docker run -d -e "JAVA_HOME=/usr/local/jdk" -e "PATH=$PATH:/usr/local/jdk/bin" devil/jdk2  /usr/bin/supervisord

  PS: docker run 要不就是-it 前段交互方式啓動, 要不就是-d 後臺運行,可是後臺運行必須有一個一直掛起的進程 ,好比這裏的/usr/bin/supervisord

  Docker容器後臺運行,就必須有一個前臺進程.
  容器運行的命令若是不是那些一直掛起的命令(好比運行top,tail),就是會自動退出的

 

8.啓動多個容器

  咱們在已經啓動了一個容器的基礎上再啓動一個容器,使用同一個鏡像

  docker run -it --name deviltest --link goofy_hypatia:tomcat -e "PATH=$PATH:/usr/local/jdk/bin" devil/jdk2 /bin/bash   ,  使用這個命令把兩個容器鏈接起來

  docker attach 第二個容器id,  cat /etc/hosts ,能夠看到 上面配置的tomcat 別名指向第一個容器

相關文章
相關標籤/搜索