• docker学习笔记


    windows下docker安装:(更新到最新版本后报错启动不起来了,最好还是套一个VM,搞到liunx下面用docker把)
    下载docker从官网https://www.docker.com/
    https://hub.docker.com/ 类似于github
    download for windows 的docker-desktop
    https://www.docker.com/products/docker-desktop
    百度网盘:
    Docker Desktop For Windows 链接: https://pan.baidu.com/s/1P78Ja73BQp59A1N86vOr7A 提取码: deqc
    注册账号 xx  xx 

    Docker的启动与停止
    systemctl start docker 启动docker
    systemctl stop docker停止docker
    systemctl restart docker 重启docker
    systemctl status docker 查看docker状态
    systemctl enable docker 开机启动
    docker info 查看docker概要信息
    https://blog.csdn.net/u013931660/article/details/85210787
    https://www.bilibili.com/video/BV1qE411N7aC/?spm_id_from=333.788.videocard.4
    启动速度快,占用体积小
    1.因为环境的不同,到到集装箱里
    docker解决的就是环境的移植,比如说开发人员在本地运行程序没问题,到客户那就有问题。
    运维人员搭一套环境,每个人搭一套环境,环境和环境之间有可能就产生差距,最后导致程序跑不完美
    开发人员搭了一套环境,测试人员只需要一条命令就可以把环境加载过来。运维人员也需要这个环境,也可以
    拿过来,只需要一条命令快速的搭起来。不需要从头安装各种软件然后配置各种软件。
    简化了环境搭建的问题,使用docker搭建环境,开发,测试,生产完全都一样了
    2.面向微服务
    推荐单个容器只运行一个应用程序或进程,这样就形成了一个分布式的应用程序模型
    3.常用命令:
    镜像相关 :
    docker images(查看本地已经存在的镜像)
    docker search 镜像名称(搜索的是互联网上的镜像)
    docker pull 镜像名称 docker pull centos:7  拉取镜像
    docker rmi 镜像ID(删除镜像)
    docker rmi ‘dokcer images -q’ (删除所有镜像) ESC下面那个键敲出来的单引号
    容器相关:
    docker ps(查看正在运行的容器)
    docker ps -a(查看所有容器)
    docker ps -l (查看最后一次运行的容器)
    docker ps -f status=exited (查看停止的容器)
    docker run -it --name=容器名称 镜像名称:标签 /bin/bash (交互方式创建容器)
    这行命令执行后就进入容器内部了 exit 退出容器
    docker run -id --name=容器名称 镜像名称:标签 (守护方式创建容器)


    通过docker exec -it mycentos2 /bin/bash(就是--name值)进入容器
    先下载镜像文件,再run 创建容器,镜像相当于类模板,容器相当于new了一个对象。
    docker容器相当于一个封闭的小linux操作系统,进入容器后对容器的操作等退出来之后就还原了
    docker每个容器都相当于一个小型的封闭的Linux系统
    docker start 容器名称 (启动已经关闭的容器)
    docker stop 容器名称 (关闭容器)
    拷贝容器中的文件到宿主容器的当前目录并重名
    docker cp mycentos2:/usr/local/docker1.txt 11.txt
    拷贝宿主容器当前目录下的11.txt到容器目录
    docker cp 11.txt mycentos2:/usr/local/
    拷贝正在运行的容器,不运行的容器都可以 cp命令是不管容器是否启动的
    docker rm 容器id/name ( 删除容器)
    4.目录挂载
    https://www.cnblogs.com/lishuaiqi/p/11446577.html
    形成映射关系
    我们利用docker启动项目的时候不能直接修改容器中的内容,只能在 run 的时候挂载到本地目录或者文件来进行修改.
    docker run -di -v /user/local/html:/user/local/html --name=mycentos centos:7
    docker run -v c:Sites edmine-3.4.5config outes.rb:/usr/src/redmine/config/routes.rb -v c:Sites edmine-3.4.5app:/usr/src/redmine/app -d -p 8088:3000 --name myredmine --link mymysql:mysql redmine:3.4.5

    docker cp 1.txt mycentos2:/usr/local (拷贝1.txt到mycentos2的/usr/local目录下)
    5.查看IP
    docker inspect mycentos
    "IPAddress": "172.17.0.2",
    6. 安装mysql
    docker pull mysql:5.7
    docker run -di --name=mysql1 -p 3309:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
    docker exec -it mysql1 /bin/bash
    进入容器:mysql -u root -p 123456; show databases;
    -p 是端口映射,宿主机的3309对准了容器的3306
    然后用Navicat连接的时候IP写成宿主机的IP 127.0.0.1:3309 root 123456
    7. 安装tomcat
    docker pull tomcat:jdk8-corretto
    docker run -di --name=tomcat1 -p 9000:8080 -v e:webapps:/usr/local/tomcat/webapps tomcat:jdk8-corretto
    8. 安装nginx
    docker pull nginx
    docker run -di --name=mynginx -p 81:80 nginx
    docker exec -it mynginx /bin/bash
    然后通过浏览器http://192.168.17.131:81/访问
    9. 安装redis
    docker pull redis
    docker run -di --name=myredis -p 6379:6379 redis
    docker exec -it myredis /bin/bash
    redis-cli
    set kkk aaa
    10. 迁移和备份
    将容器保存为镜像 docker commit mynginx mynginx_i
    将镜像保存为tar文件 docker save -o mynginx.tar mynginx_i
    先删除mynginx_i镜像 ,然后执行恢复命令
    docker stop myngix2
    docker rm myngix2
    docker rmi myngix_i
    docker load -i mynginx.tar
    docker run -di --name=mynginx2 -p 82:80
    11. Dockerfile
    是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。
    对于开发人员可以为开发团队提供一个完全一致的开发环境;对于测试人员可以拿开发时所构建的镜像通过Dockerfile文件创建一个新的镜像开始工作,对于运维人员在部署时可以实现应用的无缝移植。
    dockefile构建jdk8镜像
    yum -y install wget
    使用wget下载jdk1.8
    wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"
    tar xzf jdk-8u141-linux-x64.tar.gz
    然后创建Dockfile文件
    docker build -t='jdk1.8' .

    FROM centos:8
    MAINTAINER bozi
    WORKDIR /root
    RUN mkdir -p /root/server/java
    ADD jdk8.tar.gz /root/server/java/

    ENV JAVA_HOME /root/server/java/jdk1.8.0_141
    ENV JRE_HOME $JAVA_HOME/jre
    ENV CLASSPATH $JAVA_HOME/bin/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
    ENV PATH $JAVA_HOME/bin;$PATH

    12. Docker私有仓库
    为了在局域网共享一些镜像,存放企业内部的镜像


    8. centos8安装FTP服务器
    https://blog.csdn.net/nokia_hp/article/details/105169211
    https://blog.csdn.net/qq_27525611/article/details/103790608
    https://blog.csdn.net/wojiuguowei/article/details/104250093
    yum -y install vsftpd
    vim /etc/vsftpd/vsftpd.conf
    systemctl restart vsftpd
    192.168.17.131
    查看ftp服务是否开启
    ps -ef|grep ftp
    netstat -anp|grep 21
    调整防火墙配置
    ##启用ftp服务器
    firewall-cmd --add-service=ftp --permanent
    ######增加ftp访问
    firewall-cmd --add-port=10000-11000/tcp --permanent
    ######上述命令,开放10000-11000号的tcp端口
    ######如果有需要可以增加相应的udp端口
    firewall-cmd --reload
    ##重新加载防火墙
    8. centos上安装docker
    https://www.cnblogs.com/ding2016/p/11592999.html
    https://www.cnblogs.com/wang-yaz/p/10429899.html
    systemctl start docker
    设置docker开机启动 systemctl enable docker
    Docker学习のWindows下如何访问Docker本身的虚拟机
    https://blog.csdn.net/weixin_30677475/article/details/99035126?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.baidujs&dist_request_id=1328603.61488.16152172799875379&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.baidujs

    docker run --privileged -it -v /var/run/docker.sock:/var/run/docker.sock jongallant/ubuntu-docker-client
    docker run --net=host --ipc=host --uts=host --pid=host -it --security-opt=seccomp=unconfined --privileged --rm -v /:/host alpine /bin/sh

    docker for windows pull镜像文件的安装位置
    https://www.cnblogs.com/lfri/p/11621410.html
    朝阳区百子湾永辉超市中国移动笔记本电脑维修
    windows下powershell中使用Vim
    https://blog.csdn.net/zSY_snake/article/details/100054858?utm_term=powershell%E5%AE%89%E8%A3%85vim&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduweb~default-0-100054858&spm=3001.4430

  • 相关阅读:
    django实现github第三方本地登录
    django扩展User模型(model),profile
    WSGI
    Linux查看配置文件中未被注释的有效配置行
    virsh 命令
    qemu-img命令
    python logging
    oslo.messaging
    集成kafka的身份认证(SASL/PLAIN)到kubernets环境中
    Helm基础知识
  • 原文地址:https://www.cnblogs.com/as3lib/p/14500009.html
Copyright © 2020-2023  润新知