docker: 镜像 不可修改
容器
仓库
centos 6.x
先安装epel
安装docker-io
启动服务
docker search centos 寻找docker源
docker pull centos
docker p_w_picpaths 查
[root@Scott ~]# docker p_w_picpaths
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos latest 6cc2eba34ef6 2 weeks ago 192.5 MB
docker rmi id——p_w_picpaths 删除镜像
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 p_w_picpaths
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