ubuntu通過docker官網提供的腳本下載docker服務:
wget -qO- https://get.docker.com/ | sh
sudo docker images #查看docker鏡像
sudo docker pull 鏡像名:標簽 #下載基礎鏡像
busybos是一個精簡的unix工具集
sudo docker search -s 10 鏡像 #搜索被收藏10次以上的鏡像
dockerfile實例
# # MAINTAINER Carson,C.J.Zeong <zcy@nicescale.com> # DOCKER-VERSION 1.6.2 # # Dockerizing CentOS7: Dockerfile for building CentOS images # FROM centos:centos7.1.1503 #基礎鏡像系統 MAINTAINER Carson,C.J.Zeong <zcy@nicescale.com> #維護管理者 ENV TZ "Asia/Shanghai" #環境變量 ENV TERM xterm ADD aliyun-mirror.repo /etc/yum.repos.d/CentOS-Base.repo #ADD可以拷貝url下的文件,和解壓功能 ADD aliyun-epel.repo /etc/yum.repos.d/epel.repo RUN yum install -y curl wget tar bzip2 unzip vim-enhanced passwd sudo yum-utils hostname net-tools rsync man && \ yum install -y gcc gcc-c++ git make automake cmake patch logrotate python-devel libpng-devel libjpeg-devel && \ yum install -y --enablerepo=epel pwgen python-pip && \ yum clean all #RUN是鏡像的操作命令,每個RUN就是一層 RUN pip install supervisor ADD supervisord.conf /etc/supervisord.conf RUN mkdir -p /etc/supervisor.conf.d && \ mkdir -p /var/log/supervisor EXPOSE 22 #EXPOSE是這個容器的端口號,但是對於客戶端是看不見的,宿主機上的一個端口會映射到容器的端口號,客戶端訪問宿主機的端口 ENTRYPOINT ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisord.conf"] #容器啟動時執行 VOLUME ["/opt/project"] #持久化的
.dockerignore文件 存放忽略文件名
sudo docker build -t 鏡像名:標簽(可以寫版本)
Dockerfile所在的目錄
sudo docker run [參數] 鏡像名:標簽
參數:
-it #i 標志保證容器中STDIN(標准輸入)是開啟的,t是tty偽終端
-d #后台運行,返回ID號
-P docker端口號 #宿主機會給自動分配端口號
-p docker宿主端口號:dokcer端口號
--name docker運行時的名字
-v 宿主機目錄/docker中的目錄 #掛載
-h=A #容器的主機名
sudo docker ps -a #查看docker所有進程
sudo docker commit id號 鏡像名 #在docker進程中創建鏡像
sudo docker exec -it ID號或docker名 /bin/bash #進入ps運行中容器的偽終端
sudo docker rm -f ID號或docker名 #刪除正在運行docker
sudo
docker
rm
$(sudo docker
ps
-a -q) #刪除所有的容器
sudo docker stop ID號或docker名 #停容器
sudo docker start ID號或docker名 #啟動容器
docker鏡像導入導出
導出 docker save -o 包名.tar 鏡像名 導入 docker load < bxk_hadoop1.tar
