标签:awk docke 三种方式 ice $1 test html osi ash
Dockerfile 创建 #Dockerfile 创建
#删除批量删除none镜像
vim none.sh
docker ps -a | grep "Exited"|awk ‘{print $1}‘|xargs docker stop
docker ps -a | grep "Exited"|awk ‘{print $1}‘|xargs docker rm
docker images| grep none|awk ‘{print $3}‘|xargs docker rmi
#一: -----------------------------创建镜像的三种方式
#####创建镜像的三种方式
##1.Dockerfile
mkdir apache && cd apache
cat > Dockerfile <<-‘EOF‘
#1.基于的基础镜像
FROM centos:7
#2.维护镜像的用户信息
MAINTAINER this is kgc
#3.更新yum源,安装httpd
RUN yum -y update "新容器,使用yum的时候要提前更新yum源"
RUN yum install -y httpd
#4.暴露容器内部端口
EXPOSE 80
#5.复制网站首页文件
ADD index.html /var/www/html/index.html
#6.将执行脚本复制到镜像中
ADD run.sh /run.sh
RUN chmod 755 /run.sh
#7.启动容器时执行的脚本
CMD ["/run.sh"]
EOF
##生成镜像 "末尾.一定要有"
docker build -t httpd:centos .
##新镜像运行容器
docker run -d -p 8081:80 httpd:centos
##
echo "web test" > index.html
tee run.sh <<EOF
#!/bin/bash
rm -rf /run/httpd/*
exec /usr/sbin/apachectl -D FOREGROUND
EOF
##测试
http://192.168.100.200:8081
##2.基于已有的容器创建镜像
docker create -it centos:7 /bin/bash
docker ps
5e2e8a827d0d httpd:centos "/run.sh" 9 hours ago Up 6 minutes 0.0.0.0:8081->80/tcp dreamy_knuth
docker commit -m "ceshi" -a "li" 5e2e8a827d0d tang:centos
‘//-m:说明文字,-a:提交的作者‘
##3. 基于本地模板创建镜像
wget http://download.openvz.org/template/precreated/debian-7.0-x86-minimal.tar.gz
ls
debian-7.0-x86-minimal.tar.gz
cat debian-7.0-x86-minimal.tar.gz | docker import - daoke:new
docker images
daoke new 48335eb7b82d 13 seconds ago 215MB
#二: ------------------------------私有仓库建立
##1.获取registory镜像,构建仓库容器
docker pull registry "每个私有仓库都要用这个镜像"
vim /etc/docker/daemon.json
"insecure-registries":["192.168.100.200:5000"],
systemctl restart docker.service
###2.宿主机的/data/registory 自动创建挂载容器中的/tmp/registory
docker run -d -p 5000:5000 -v /data/registry:/tmp/registry registry
###3.更改标记为192.168.100.150:5000/nginx
docker tag nginx:latest 192.168.100.200:5000/nginx
###4.上传镜像到私有仓库
docker push 192.168.100.200:5000/nginx
###5.获取私有仓库列表
curl -XGET http://192.168.100.200:5000/v2/_catalog
###6.显示上传成功
{"repositories":["nginx"]}
###7.测试私有仓库下载
docker pull 192.168.100.200:5000/nginx
#三: ---------------------------------------数据卷管理
#1.-----------Docker数据卷(宿主机与容器间)
docker pull centos
##宿主目录/var/www挂载容器中的/data1
docker run -v /var/www:/data1 --name web1 -it centos:7 /bin/bash
##容器内创建数据测试
cd /data1/
touch test123
##返回宿主机进行查看
ls /var/www/
#2.------------数据卷容器(容器间)
##数据卷容器
docker run --name web100 -v /data1 -v /data2 -it centos:7 /bin/bash
##新容器挂载数据卷容器
docker run -it --volumes-from web100 --name web99 centos:7 /bin/bash "web99容器名称"
##在两个目录下创建文件,测试
#--------------端口映射
docker run -d -P httpd:centos
docker run -d -P 49280:80 httpd:centos
docker ps -a
#3. -----------容器互联(使用centos镜像)
#####创建并运行容器取名web1,端口号自动映射
docker run -itd -P --name web11 centos:7 /bin/bash
#####创建并运行容器取名web12 ,连接到web1和其通讯
docker run -itd -P --name web12 --link web11:web11 centos:7 /bin/bash
#####进入web12容器
ping web11
标签:awk docke 三种方式 ice $1 test html osi ash
原文地址:https://blog.51cto.com/14625831/2548595