提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
提示:doker
doker学习笔记
提示:以下是本篇文章正文内容,下面案例可供参考
doker基础知识
一、安装docker
安装前卸载旧版本
yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
仓库安装
yum install -y yum-utils
设置镜像仓库
sudo yum-config-manager
–add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新软件包索引
yum makecache fast
安装最新的doker引擎
yum install docker-ce docker-ce-cli containerd.io
启动docker
systemctl start docker
测试是否启动
docker version
二、镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF’
{
“registry-mirrors”: [“https://81cehvik.mirror.aliyuncs.com”]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
三、docker命令
docker version 显示docker版本信息
docker info 显示docker的系统信息(包括镜像和容器的容器)
命令官网地址:https://docs.docker.com/reference/
镜像
docker search 搜索
docker pull -a 版本 下载镜像
docker rmi -f (id) 删除指定镜像
docker rmi -f s$(docker images -aq) 删除全部镜像
容器
docker run
参数
–name 容器名字
-d 后台运行
-it 交互运行
-P 指定容器端口
-p 随机端口
docker run -it centos /bin/bash 启动并进入
exit 退出容器并停止
ctcl +p+q不停止退出
docer ps -aq运行中容器
-a 当前正在运行的镜像 +历史运行
-n 显示最近创建的容器
-q 只显示容器的编号
删除容器
docker rm +id 删除指定容器,不能删除正在运行的容器
docker rm -f s$(docker ps -aq) 删除全部容器
启动和停止容器
docker start
docker stop
docker kill
doker restart
常用命令
后台启动
docker run -d
查看日志
docker logs -tf --tail 10 指定查看行数
查看进程信息
docker top
查看镜像元数据
docker inspect
进入当前正在运行的容器
docker exec -it id /bin/bash 打开新的命令行
docker attach id 正在执行的代码
从容器拷贝文件到主机
docker cp
运行容器
docker run -d --name nginx01 -p 3344:80 nginx
进入容器
docker exec -it nginx01 /bin/bash
测试端口
curl localhost:9200
docker stats 查看cpu状态
portainer 下载
docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
拷贝命令
cp -r webapps.dist/* webapps
commit镜像
docker commit 提交新的镜像
dockers commit -m=“提交描述信息” -a=“作者” 容器id 目标镜像名:tag
例子: docker commit -m=“add app” -a=“oyh” 3b339ce267e7 tomcat1.0
四、容器数据卷 -v
docker run -it -v 主机目录:容器目录
例子:docker run -it -v /home/test/:/home centos /bin/bash
docker inspect 容器id 查看容器详细信息(注意:需要在主机执行)
docker volume ls 查看卷的所有情况
docker volume inspect 卷名 查看卷的详细描述
所有匿名卷都在 /var/lib docker/volumes/***/_data
数据卷容器 --volumes-from
例子:docker run -it --name docker02 --volumes-from docker01 oyh/centos
五、dockerfile 用来构建docker的构建文件
例子:
docker build -f /home/dockertest/dockerfile1 -t dockerfile/centos01 .
(注意后面的.一定要有)
-f 宿主机文件
-t 镜像名字
脚本例子:
FROM centos
VOLUME [“volume01”,”volume02”]
CMD echo ”end end”
CMD /bin/bash
- docker 构建
docker 指令
FROM 基础镜像
MAINTAINER 谁写的 姓名+邮箱
RUN 运行的命令
ADD 加入内容 (加入tomcat等)
WORKDIR 镜像挂载目录
VOLUME 挂载的目录
EXPOSE 暴露端口
CMD 容器启动时候运行的命令,替换命令
ENTRYPOINT 容器启动时候运行的命令,可以追加命令
ONBUILD 触发指令
COPY 将文件拷贝到镜像中
ENV 构建的时候设置环境变量
实战
FROM scratch 百分之90%的镜像都是从这个构建处理的(基础镜像)
代码:
FROM centos
MAINTAINER oyh<1435701818@qq.com>
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install ifconfig
RUN yum -y install net-tools
EXPOSE 80
CMD echo $MYPATH
CMD echo "成功"
CMD /bin/bash
生产镜像
docker build
-t 镜像名:[版本号]
-f文件路径
docker build -f only-centos01 -t mycentos:0.1 .
制作tomcat
- 制作tomcat,准备tomcat文件,jdk文件
制作代码:
FROM centos
MAINTAINER oyh<1435701818@qq.com>
COPY readme.txt /usr/local/readme.txt
ADD jdkname /usr/local/
ADD tomcatname /usr/local/
RUN yum -y install vim
ENV MYPATH /usr/local
WORKDIR $MYPATH
ENV JAVA_HOME /usr/local/jdk1.8.0_11
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.22
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.22
ENV PATH $PATH:JAVA_HOME/bin:$CATALINA_HOME/lib:$ CATALINA_HOME/bin
EXPOSE 8080
CMD /usr/local/ apache-tomcat-9.0.22/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.22/bin/logs/Catalina.out
构建镜像
docker build -f mytomcat -t diytomcat .
启动容器,初始化容器
docker run -d -p 9090:8080 --name diytomcat01
-v /home/build/tomcat/test/ :/usr/local/apache-tomcat-9.0.22/webapps/test
-v /home/build/tomcat/logs :/usr/local/apache-tomcat-9.0.22/logs diytomcat
运行容器
docker exec -it 容器id /bin/bash
发布镜像
dockerHub
登录 https://hub.docker.com/
docker login -u 用户名 -p 密码
发布阿里云
-
登录阿里云
docker login --username=980419欧 registry.cn-hangzhou.aliyuncs.com -
找到容器镜像服务
-
创建命名空间
提交镜像
docker push registry.cn-hangzhou.aliyuncs.com/dockerfile-oyh/dokerfile:[镜像版本号]~
六、docker网络
实战
创建容器
docker run -d -P --name mytomcat tomcat
docker exec -it
原理:我们每启动一个dockers容器。docker都会分配一个ip 给容器,就会一个网卡docker0 ,桥接模式。使用的evth-pair
evth-pair就是一对虚拟设备接口,都是成对出现,一段连接协议,一段彼此连接
–link 可以连通容器网络连接,单向网络 不建议使用
doker network 查看网络
自定义网络
网络模式
bridge :桥接模式(默认网络模式)
none :不配置网络
host:和宿主机共享网络
container:容器网络连接(用的少,局限性大)
自定义网络
docker network create --subnet 192.168.0.0/16 –gateway 192.168.0.1 mynet
docker network connect 容器联通自定义网络 mynet
语法:docker network connect mynet tomcat01 联通自定义网络mynet到tomcat01容器的网络
七、 练习
脚本配置6个redis
启动
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。