首页 > 其他分享 >docker

docker

时间:2022-09-30 22:44:06浏览次数:47  
标签:容器 run -- nginx 镜像 docker

> windows系统下docker桌面版安装指南
- 先决条件: windows10非家庭版,启用虚拟化
- 设置容器资源
- 设置镜像加速:[阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台](https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors)     ```   "registry-mirrors": [       "https://bp10feec.mirror.aliyuncs.com"     ]   ```
- 阿里云k8s镜像预加载脚本     + load_images.ps1 for windows     + load_images.sh for mac     + 均使用powershell运行
- 安装参考:[k8s-for-docker-desktop](https://github.com/AliyunContainerService/k8s-for-docker-desktop)
- 官方文档:[Docker](https://docs.docker.com/)
> ## docker常用命令
- docker version : docker版本信息    
- docker info :详细信息
- docker --help:万能命令
- 文档地址:[Use the Docker command line | Docker Documentation](https://docs.docker.com/engine/reference/commandline)
- #### 镜像命令     + docker images : 查看镜像     + docker images --help     + ```     -a, --all             Show all images           --digests         Show digests       -f, --filter filter   Filter output based on conditions provided           --format string   Pretty-print images using a Go template           --no-trunc        Don't truncate output       -q, --quiet           numeric IDs     ```     + docker search:搜索     + docker pull:下载     + docker rmi rf 镜像id:删除镜像
- #### 容器命令     - 有镜像才可以创建容器     - 新建容器并启动         - docker run [可选参数] image             - 参数说明       - --name="Name"  容器名字 用来区分容器       - -d 后台方式运行       - -it 使用交互方式运行,进入容器查看内容       - -p 指定容器端口         - -p ip:主机端口:容器端口         - -p 主机端口:容器端口(常用)         - -p 容器端口         - 容器端口       - 测试,启动并进入容器         - docker run -it centos /bin/bash       - 从容器中退回主机         - exit         - 列出所有正在运行中的容器             - docker ps:当前正在运行的容器       - docker ps -a:历史运行过的容器       - docker ps -q:只显示容器编号         - 退出容器             - exit # 直接容器停止并退出             - Ctrl + P + Q # 直接容器不停止并退出         - 删除容器             - docker rm 容器id   删除指定容器             - docker rm -f  $(docker pd -aq)         - 启动和停止容器的操作             - docker start 容器id             # 启动容器             - docker restart 容器id         # 重启             - docker stop 容器id             # 停止正在运行的容器             - docker kill 容器id                # 强制停止当前容器         - 例如             - 用bash命令启动centos:Docker run -it centos /bin/bash
- #### 日志、元数据、进程查看     - 后台启动容器         ```     docker run -d 镜像名         docker后台启动必须要有对应的前台进程,否则启动后会自动停止     ```     - 查看日志         - docker logs (docker logs -tf --tail 10 容器id:以字符串的形式显示所有log     - 查看容器中的进程信息         ```     docker top 容器id     ```     - 查看镜像元数据         ```     docker inspect 容器id     ```     - 进入当前正在运行的容器         ```     docker exec -it ID /bin/bash # 进入容器后会开启一个新的终端,可以操作     docker attach -ID # 正在执行当前的代码     ```     - 从容器内拷贝文件到主机上         ```     docker cp ID:容器内路径 目标主机路径     ```
- docker process overview(小结)     ![](C:\Users\yuanyhua\Desktop\D\learningDOC\img\docker overview.png)     ```   attach # 当前shell下的attach链接指定运行镜像 Attach to a running container   build # 通过DockerFile 定制镜像 Build an image from a DockerFile   commit # 提交当前容器为新的镜像 Create a new image from a container’s changes   cp # 从容器中拷贝指定文件或目录到宿主机中 Copy files/folders between a container and the local filesystem   create #创建一个新的容器,同run,但不启动容器 Create a new container   diff # 查看docker容器变化 Inspect changes to files or directories on a container’s filesystem   events # 从docker服务获取容器实时事件 Get real time events from the server   exec # 在已存的容器上运行命令 Run a command in a running container   export # 导出容器的内容流作为一个tar归档文件[对应import] Export a container’s filesystem as a tar archive   history # 展示一个镜像形成历史 Show the history of an image   images # 列出系统当前镜像 List images   import # 从tar包中的内容创建一个新的文件系统映像 Import the contents from a tarball to create a filesystem image   info # 显示系统相关信息 Display system-wide information   inspect # 查看容器详细信息 Return low-level information on Docker objects   kill # kill指定docker容器 Kill one or more running containers   load # 从一个tar包中加载一个镜像 Load an image from a tar archive or STDIN   login # 注册或者登录一个docker源服务器 Log in to a Docker registry   logout # 从当前docker registry退出 Log out from a Docker registry   logs # 输出当前容器日志信息  Fetch the logs of a container   port # 查看映射端口对应的容器内部源端口 List port mappings or a specific mapping for the container   pause # 暂停容器 Pause all processes within one or more containers   ps # 列出容器列表 List containers   pull # 列出容器列表 Pull an image or a repository from a registry   push # 推送指定镜像或者库镜像至docker源服务器 Push an image or a repository to a registry   restart # 重启运行的容器 Restart one or more containers           rm # 移除一个或多个容器 Remove one or more containers   rmi # 移除一个或多个镜像[无容器使用该镜像才可以删除,否则需要删除相关容器才可以继续或-f 强制删除 Remove one or more images]   run # 创建一个新的容器并运行一个命令 Run a command in a new container   save # 保存一个镜像为一个tar包 Save one or more images to a tar archive (streamed to STDOUT by default)   search # 在dockerhub中搜索镜像 Search the Docker Hub for images   start # 启动容器 Start one or more stopped containers   stop # 停止容器 Stop one or more running containers   tag # 给源中镜像打标签 Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE   top # 查看容器中运行的进程信息 Display the running processes of a container   unpause # 取消暂停容器 Unpause all processes within one or more containers   version # 查看docker版本号 Show the Docker version information   wait # 截取容器停止时的退出状态信息 Block until one or more containers stop, then print their exit codes   ```
> ## docker安装nginx
> ## docker安装tomcat
``` 官方使用 docker run -it --rm tomcat:9.0 # tomcat用完即删 下载启动 docker pull tomcat 启动运行(容器) docker run -d -p 3355:8080 --name tomcat01 tomcat 测试 进入容器 docker exec -it tomcat01 /bin/bash ```
> ## 可视化
- portainer     + 图形化界面管理工具!提供一个后台面板供我们操作         ```     docker run -d -p 8088:9000     ```
- Rancher(CI/CD)
> ## Docker镜像讲解
+ 镜像是一种轻量级,可执行的独立软件包,用来打包软件运行环境和机遇环境开发的软件,它包含运行某个软件所需要的代码,运行时、库、环境变量和配置文件。所有的应用。直接打包docker镜像,就可以直接跑起来
+ Docker镜像加载原理:     > Unions(联合文件系统)
文件系统是一种分层、轻量级、并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不通目录挂载到同一个虚拟文件系统下,union文件系统是docker镜像的基础,镜像可以通过分层来进行继承,基于基础镜像可以制作各种具体的应用镜像。
特性: 一次加载多个文件系统,但从外面只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录
> Dockerj镜像加载原理
> commit镜像 - docker commit 提交容器成为一个新的副本 - docker commit -m "提交描述信息" -a "作者" imageID ImageName [tag] > 实战测试 - 启动一个默认的tomcat, 没有webapps应用,镜像的原因,官方默认webapps下无文件 - 我自己拷贝进去了基本文件 - 将我们操作过的容器通过commit提交为一个新的镜像供以后使用;目录的挂载,将容器的目录挂载到linux系统上 > ## 容器数据卷 - 容器间的数据共享技术,将Docker容器产生的数据同步到本地 > ### 容器数据卷   - 方式1:直接使用命令来挂载 -v     +  docker run -it -v 主机目录:容器内目录。例如,docker run -it -v /home.ceshi:/home centos /bin/bash   - 启动起来的时候可以通过docker inspect imageID来查看挂载情况(Mounts目录);   - DockerFile     - Dockerfie被用来构建docker镜像     - 具名和匿名挂载       +  匿名挂载: ` docker run -d -p --name nginx01 -v /etc/nginx/nginx`;       +  查看所有volume的情况: docker volume ls       +  具名挂载: ` docker run -d -p --name nginx02 -v juming-nginx:/etc/nginx nginx`;       +  所有docker容器内的卷,在没有指定目录的情况下,存放路径为`/var/lib/docker/volumes/juming-nginx/_data`       +  查看数据卷: ` docker volume inspect juming-nginx`       +  区分具名挂载和匿名挂载          +  -v 容器内路径        # 匿名挂载          +  -v 卷名:容器内路径   # 具名挂载          +  、宿主机路径::容器内路径       # 指定路径挂载       + 拓展           1.  `ro: 只读, rw:可读可写`         ```             docker run -d -p --name nginx02 -v juming-nginx:/etc/nginx:ro nginx             docker run -d -p --name nginx02 -v juming-nginx:/etc/nginx:rw nginx         ```     -  数据卷容器        -  容器数据同步: --volumes-from, 数据会拷贝到多个容器 > ## DockerFile -  dockerfile是用来构建docker镜像的文件,命令参数脚本 -  构建步骤   1. 编写一个dockerfie文件   2. docker build 构建成为一个镜像   3. docker run 运行镜像   4. docker push发布镜像(dockerhub,阿里云镜像库)   5. 指令      1.








> ## Docker网络

标签:容器,run,--,nginx,镜像,docker
From: https://www.cnblogs.com/frida/p/16746456.html

相关文章

  • 使用 Docker 部署 MySql
    前言虽然不建议将需要持久化的数据保存在容器中,但是自己平时做个小项目玩玩还是没什么问题的。拉取镜像dockerpullmysql不加tag的话默认从DockerHub拉取最新版......
  • Docker安装calibre-web搭建电子书阅读器
    一、下载docker镜像sudodockerpulljohngong/calibre-web二、创建calibre-web镜像的映射目录,存放配置文件&书籍mkdir/home/pi/Backup/projects/calibre-webmkdir/......
  • Docker可视化Portainer
    https://hub.docker.com/r/portainer/portainerhttps://docs.portainer.io/start/install/server/docker/linuxdockerrun-d-p8000:8000-p9443:9443--nameporta......
  • docker部署安装使用
    1. 查看系统信息      命令:uname-a           lsb_release-a2. docker下载安装参考:https://www.cnblogs.com/cc1997/p/15550740.htmlhttps://......
  • docker版redis-cluster模式集群-主从扩容
    3主3从节点在上篇:docker版redis-cluster模式集群搭建(3主3从)1、新建6387、6388两个节点dockerrun-d--nameredis-node-7--nethost--privileged=true-v/data/......
  • docker版redis-cluster模式集群搭建(3主3从)
    开放端口:开放Redis服务的两个TCP端口。譬如Redis客户端连接端口为6379,而Redis服务在集群中还有一个叫集群总线端口,其端口为客户端连接端口加上10000,即6379+10000=......
  • docker版redis-cluster模式集群-主从缩容
    接上篇扩容:docker版redis-cluster模式集群-主从扩容下线6387和63881、从集群中将4号从节点6388删除,并检查结果redis-cli--clusterdel-nodeip:从机端口从机......
  • centos7安装docker和docker-compose
    安装docker安装依赖yuminstall-yyum-utilsdevice-mapper-persistent-datalvm2yum-config-manager\--add-repo\https://mirrors.aliyun.com/docker-ce......
  • Docker入门学习
    1.运行第一个docker容器dockerrun-i-tubuntu/bin/bash参数说明:-i,--interactive=false,打开STDIN,用于控制台交互-t,--tty=false,分配tty设备,该可以支持终端登录,默认......
  • docker容器的创建及常用操作命令详解
    docker容器简介容器就是对外提供服务的一个实例。容器启动的必要条件:容器内至少有一个进程运行在前台1、创建容器1234567891011121314151617......