docker: 鏡像 不可修改
容器
倉庫
centos 6.x
先安裝epel
安裝docker-io
啓動服務
docker search centos 尋找docker源
docker pull centos
docker images 查
[root@Scott ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos latest 6cc2eba34ef6 2 weeks ago 192.5 MB
docker rmi id——images 刪除鏡像
docker rm id_container 刪除跑過的容器
docker run centos:latest /bin/echo "hello" 運行以下則退出
docker ps -a 查看docker運行的狀態
docker run --name mydocker -it centos /bin/bash 進入鏡像
docker start id_container 重新啓動docker
docker run -d --name docker1 centos 後臺運行docker,如果沒有則自動會download這個鏡像
docker ps -a 所有
docker ps -l 最後的一個容器
docker stop id_container 停止容器
docker --help
docker attach id_container 進入一個已經運行的容器
nsenter 訪問另一個容器的空間 沒喲則裝util-linux包
nsenter --target 4070 --mount --uts --ipc --net --pid
docker inspect --format "``.`State`.`Pid`" 62d0615a8cd7 獲取容器的進程id
brctl show 查看網橋
docker run -d --name mydocker -P nginx 隨機映射端口
docker run -d --name mydocker -p 8000:80 nginx
-p hostport:containerport
ip:hostport:containerport
ip::containerport
hostport:containerport -p hostport:containerport
docker run --name -h hostname
docker stop con_id
docker ps -l
docker exec|docker attach 進入容器
docker rm | docker rm -f
docker的數據管理
數據卷 繞過ufs,直接寫在物理設備上,可共享重用
docker run -it --name volume-test1 -h nginx -v /data nginx -h是設置主機名
掛載一個data目錄,直接寫入物理主機上,繞過docker
root@Scott ~]# docker inspect -f "``.`Volumes`" volume-test1
map[/data:/var/lib/docker/volumes/24d1d1cfed1aff8c91747fb30bb88c43c2349d31fc8b2ed7781c74040fd7912c/_data] 將/var/lib/docker映射到了容器的/data目錄
docker run -it --name volume-test2 -h centos -v /opt:/opt:ro (只讀) centos
指定opt映射到opt
數據卷容器
容器專門用來存數據
docker run -it --name volume-test4 --volumes-from volume-test1 centos
卷來自於容器volume-test1,不管test1是否是啓動的
docker 鏡像構建
手動構建
docker run --name nginx-man -it centos
yum install wget gcc gcc-c++ make openssl-devel -y
nginx下載地址 http://nginx.org/
pcre下載wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz
mv *.gz /usr/local/src/
cd /usr/local/src/
tar zxf nginx-1.11.13.tar.gz
tar zxf pcre2-10.21.tar.gz
useradd -s /sbin/nologin -M www
./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-pcre=/usr/local/src/pcre8.40
make
make install
nginx需要放在前臺來運行
vi /usr/local/nginx/conf/nginx.conf
daemon off;
exit
# docker ps -l
#docker commit -m "my nginx" container_id yangyingfa/my-nginx:v1
#docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
yangyingfa/my-nginx v1 0d29a525b2c3 32 seconds ago 398.8 MB
# docker run -d -p 99:80 yangyingfa/my-nginx:v2 /usr/local/nginx/sbin/nginx 運行
#docker ps -a 查看是否在運行
dockerfile