zoukankan      html  css  js  c++  java
  • docker入门命令以及坑点 Tomcat Redis MySQL 西门

    docker笔记

    1、基本命令

    • 查看本地镜像: docker images
    • 搜索镜像: docker search centos
    • 搜索镜像并过滤是官方的: docker search --filter "is-official=true" centos
    • 搜索镜像并过滤大于多少颗星星的: docker search --filter stars=10 centos
    • 下载centos7镜像: docker pull centos:7
    • 修改本地镜像名字(小写): docker tag centos:7 mycentos:1
    • 本地镜像的删除: docker rmi centos:7
    • 查看正在运行的容器:docker ps
    • 查看所有的容器:docker ps -a
    • 运行容器:docker run -itd centos:7
    • 重启容器:docker restart ID
    • 运行容器并命名:docker run -itd --name=xxx centos:7
    • 停止容器:docker stop ID或命名
    • 删除容器(需先停止容器):docker rm ID命名
    • 强制删除容器:docker rm -f ID命名
    • 查看容器详细信息:docker inspect ID命名
    • 进入容器:docker exec -it ID命名 /bin/bash(解释器)
    • 退出容器:exit
    • 停止正在运行的所有容器:docker stop $(docker ps -a -q)
    • 启动所有容器:docker start $(docker ps -a -q)
    • 复制文件到容器里:docker cp (最好是绝对路径) ID命名:(目标路径) => docker cp /root/123.txt ID命名:/home/
    • 从容器复制到宿主机:docker cp ID命名:(目标路径) (最好是绝对路径) => docker cp ID命名:/home/123.txt /root/

    2、commit构建镜像

    • 安装ifconfig的包:yum install -y net-tools

    • commit镜像:docker commit -a "ximen" -m "123" a5b2277d98f6 mycentos:v1

      (docker commit -a "作者" -m "描述相关信息" ID 命名版本号)

    3、Dockerfile构建镜像

    编辑Dockerfile

    • # this is a dockerfile注释声明这是一个dockerfile文件
    • FROM 基于什么镜像进行构建
    • MAINTAINER 作者 邮箱
    • RUN 执行一条命令
    • WORKDIR 设置工作路径
    • COPY 相对路径 目标路径
    # this is a dockerfile
    FROM centos:7
    MAINTAINER ximen 123@qq.com
    RUN echo "正在构建镜像!!!"
    WORKDIR /home/ximen
    COPY 123.txt /home/ximen
    RUN yum install -y net-tools
    
    • 执行dockerfile命令:docker build -t mycentos:v2 .

      (docker build -t 命名:版本号 .是当前目录下的dockerfile文件)

    4、配置Java网站环境

    一、配置jdk

    • 解压jdk压缩包:tar -xf jdk-8u161-linux-x64.tar.gz

    • 文件夹移动并改名为jdk:mv jdk1.8.0_161 /usr/local/jdk

    • 编辑环境变量:vi /etc/profile

      export JAVA_HOME=/usr/local/jdk
      export JRE_HOME=$JAVA_HOME/jre
      export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
      export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
      
    • 更新环境变量文件:source /etc/profile

    二、启动Tomcat

    • 解压Tomcat:tar -xf apache-tomcat-9.0.41.tar.gz
    • 文件夹移动并改名为tomcat:mv apache-tomcat-9.0.41 /usr/local/tomcat
    • Tomcat:/usr/local/tomcat/bin/catalina.sh run
    • 查看Tomcat启动:ps -ef | grep tomcat

    三、查看关闭防火墙

    • 查看防火墙:firewall-cmd --state
    • 关闭防火墙:systemctl stop firewalld.service

    四、dockerfile

    FROM centos:7
    ADD  jdk-8u161-linux-x64.tar.gz /usr/local/jdk /usr/local
    RUN mv /usr/local/local/jdk1.8.0_161 /usr/local/jdk
    ENV JAVA_HOME=/usr/local/jdk
    ENV JRE_HOME=$JAVA_HOME/jre
    ENV CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
    ENV PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
    ADD apache-tomcat-9.0.41.tar.gz /usr/local
    RUN mv apache-tomcat-9.0.41 /usr/local/tomcat
    EXPOSE 8080
    ENTRYPOINT ["/usr/local/tomcat/bin/catalina.sh","run"]
    

    5、启动环境容器

    • 普通运行:docker run -itd --privileged -p 8989:8080 mycentos:v2 init

    6、Nginx

    dockerfile

    FROM centos:7
    RUN rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
    RUN yum install -y nginx
    EXPOSE 80
    

    7、Redis

    • redis是c语言开发,安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境
    • 进入/usr/local目录下
    • 安装gcc-c++:yum install gcc-c++
    • 要使用wget下载redis压缩包,就先安装wget:yum install wget
    • 使用wget下载redis压缩包:wget http://download.redis.io/releases/redis-4.0.9.tar.gz
    • 解压redis压缩包:tar -xf redis-4.0.9.tar.gz
    • 进到redis-4.0.9文件夹后执行命令编译:make
    • 再执行安装命令:make PREFIX=/usr/local/redis install
    • 复制redis.conf文件到/usr/local/redis/bin目录:cp ./redis.conf /usr/local/redis/bin/
    • 编辑redis.conf配置文件:vi /usr/local/redis/bin/redis.conf
      1. 搜索protected-mode的位置::/protected-mode
      2. 按a进入编辑模式,把protected-mode的yes改成no
      3. 按esc退出编辑模式,再搜索bind的位置::/bind 127.0.0.1
      4. 按a进入编辑模式,在bind 127.0.0.1前加一个#号注释掉
      5. 按esc退出编辑模式,再输入:wq保存退出
    • 启动redis:/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
    • 运行容器:docker run -itd --privileged -p 6380:6379 mycentos:v4 init
    • 关闭防火墙:systemctl stop firewalld.service
    • 启动redis客户端:/usr/local/redis/bin/redis-cli -p 6380
    • 通过ip链接redis,先查看ip:docker inspect ID
    • IPAddress为ip地址
    • 通过ip连接:/usr/local/redis/bin/redis-cli(宿主机redis地址) -h IP -p 6379(容器redis端口)

    8、MySQL

    • 拉取MySQL镜像:docker pull mysql:5.7
    • 运行MySQL容器:docker run -itd --name some-mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7
    • 设置编码:docker exec -it ID env LANG=C.UTF-8 /bin/bash
    • 进入容器:docker exec -it ID /bin/bash
    • 进入容器后可以查看字符编码:echo $LANG
    • 登陆MySQL:mysql -uroot -proot
  • 相关阅读:
    一致性 hash 算法( consistent hashing )a
    wcf 推送 与 广播
    TFS 自动同步Server 端文件的批处理命令
    PHP面向对象
    H5缓存机制浅析-移动端Web加载性能优化【干货】
    100+ 超全的web开发工具和资源
    从零开始搭建论坛(一):Web服务器与Web框架
    JQuery:选择器
    JQuery:事件
    JQuery:DOM操作
  • 原文地址:https://www.cnblogs.com/ximensama/p/14372687.html
Copyright © 2011-2022 走看看