常用其他命令后台启动容器#命令docker run -d 镜像名[root@localhost ~]# docker run -d centos#问题docker ps,发现centos停止了
#常见的坑: docker 容器使用后台执行,就必须要有一个前台进程,docker发现没有应用,就会自动停止Nginx,容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了查看日志docker logs -f -t --tail 容器,没有日志#自己编写一段shell脚本[root@localhost ~]# docker run -d centos /bin/sh -c "while true;do echo kuangshen;sleep 1;done"
[root@localhost ~]# docker psCONTAINERID IMAGE38254adcfa23centos[root@localhost ~]##显示日志 -tf #显示日志 --tail number #要显示日志条数[root@localhost ~]# docker logs -tf --tail 10 38254adcfa23查看容器中进程信息ps#命令 docker top +容器ID[root@localhost ~]# docker top 38254adcfa23UIDPIDPPIDCSTIMETTYTIMECMDroot1866618645020:04?00:00:01/bin/sh -c while true;do echo kuangshen;sleep 1;doneroot1974018666020:19?00:00:00/usr/bin/coreutils --coreutils-prog-shebang=sleep /usr/bin/sleep 1查看镜像的元数据docker inspect 容器ID[root@localhost ~]# docker inspect 38254adcfa23[{"Id": "38254adcfa23d6b3cabd5810d76fff1b8a5c39e364d29eaa051ccef0d8b6b7cc","Created": "2022-03-06T12:04:58.195572401Z","Path": "/bin/sh","Args": ["-c","while true;do echo kuangshen;sleep 1;done"],进入当前正在运行的容器#容器通常使用后台方式运行的,需要进入容器,修改一些配置
#命令 #进入容器并开启一个新的终端,可以在里面操作(常用)docker exec -it 容器ID bashShell#测试[root@localhost ~]# docker psCONTAINER IDIMAGECOMMANDCREATEDSTATUSPORTSNAMES38254adcfa23centos"/bin/sh -c 'while t…"36 minutes agoUp 36 minutesobjective_moser[root@localhost ~]# docker exec -it 38254adcfa23 /bin/bash[root@38254adcfa23 /]# lsbindevetchomeliblib64lost+foundmediamntoptprocrootrunsbinsrvsystmpusrvar[root@38254adcfa23 /]# ps -efUIDPIDPPIDC STIME TTYTIME CMDroot100 12:04 ?00:00:05 /bin/sh -c while true;do echo kuangshen;sleep 1;doneroot169200 12:33 pts/000:00:00 /bin/bashroot219000 12:41 pts/100:00:00 /bin/bashroot222310 12:41 ?00:00:00 /usr/bin/coreutils --coreutils-prog-shebang=sleep /usr/bin/sleep 1root222421900 12:41 pts/100:00:00 ps -ef
#方法二docker attach 容器id#测试 #attach这个命令会进入正在执行的终端,不会启用新的进程。[root@localhost ~]# docker attach 容器ID正在执行当前的代码....
从容器内拷贝到主机上docker cp 容器id:容器内路径 目的的主机路径[root@localhost home]# docker cp f2c8956edf2d:/home/test.java /home安装nginx#1.搜索镜像 search 建议大家去docker搜索,可以看到帮助文档#2.下载镜像 pull#3.运行测试[root@localhost home]# docker imagesREPOSITORYTAGIMAGE IDCREATEDSIZEnginxlatestc919045c4c2b5 days ago142MBcentoslatest5d0da3dc97645 months ago231MB
# -d 后台运行# --name 给容器命名# -p 宿主机端口,容器内部端口[root@localhost home]# docker run -d --name nginx01 -p 3344:80 nginxef2ca173f06d103d8ce54054837e045cde511d7dbe94df00b5a5edbd8f1393a9[root@localhost home]# docker psCONTAINER IDIMAGECOMMANDCREATEDSTATUSPORTSNAMESef2ca173f06dnginx"/docker-entrypoint.…"11 seconds agoUp 9 seconds0.0.0.0:3344->80/tcp, :::3344->80/tcpnginx01[root@localhost home]# curl localhost:3344#进入容器[root@localhost home]# docker exec -it nginx01 /bin/bashroot@ef2ca173f06d:/# whereis nginxnginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginxroot@ef2ca173f06d:/# cd /etc/nginxroot@ef2ca173f06d:/etc/nginx# lsconf.dfastcgi_paramsmime.typesmodulesnginx.confscgi_paramsuwsgi_paramsroot@ef2ca173f06d:/etc/nginx#思考问题:我们每次改动nginx配置文件,都需要进入容器内部? 十分麻烦,我要是可以在容器外部提供一个映射路径,达到在容器修改文件名,容器内部就可以自动修改?-v 数据卷!安装一个:docker 装tomcat#官方的使用docker run -it --rm tomcat:9.0
#我们之前的启动都是后台,停止了容器之后,容器还是查到docker run it --rm,一般用来测试,用完就删。
#下载在启动docker pull tomcat
#启动运行docker run -d -p 3355:8080 --name tomcat01 tomcat#测试访问没有问题,但页面访问不到
#进入容器[root@localhost home]# docker exec -it tomcat01 /bin/bash
#发现问题:1.Linux命令少了。2.没有webbapps. 阿里云镜像的原因,默认是最小的镜像,所有不必要的都踢出掉。#保证最小可运行的环境root@abba21a609fc:/usr/local/tomcat# cp -r webapps.dist/* webapps 把备份文件考过来,就可以访问页面了思考问题:我们以后要部署项目,如果每次都都要进入容器是不是十分麻烦?我可以在容器外部提供一个映射路径,webaps,我们在外部放置项目,就自动同步到内部就好了。作业:部署es+kibana#es 暴露的端口很多#es 十分的耗内存#es 的数据一般需要放置到安全目录!挂载#--net somenetwork 网络配置#下载并启动elasticsearchdocker run -d --name elasticsearch-p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
#docker stats 查看 Cpu状态
#增加内存的限制,修改配置文件 -e 环境配置修改docker run -d --name elasticsearch02 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node"-eES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2可视化portainer ?(先用这个)Rancher(CI/CD再用)
什么是 portainer ?docker图形化管理工具!提供一个后台面板供我们操作!docker run -d -p 8080:9000 \--restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer访问测试:外网 :8080例如:http://192.168.171.130:8080/这个可视化面板少用 (账号:admin 密码:12345678)
Docker镜像是一种独立软件包,包含某个软件运行时的所有内容,包含代码、环境变量等。如何得到镜像:从远程仓库下载朋友拷贝自己制作一个镜像dockerFile联合文件系统docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统UnionFS。特点docker镜像都是只读的,当容器启动时,一个新的可写层被加载到镜像的顶部,容器之下都叫镜像层。

更多相关文章

  1. android 中 CheckBox 复选框操作
  2. Android(安卓)Studio第一次启动的Fetching android sdk componen
  3. android独有的省内存的轻量级容器类
  4. android电源管理简要
  5. android 判断是否由adb调试进入页面 或直接跳转到开发者选项页面
  6. 搭建arm-linux-gcc交叉编译工具链环境(Android原生(JNI)开发环境
  7. Android(安卓)正确进入全屏和退出全屏的姿势
  8. Android的Spinner组件的XML属性(备查)
  9. Android(安卓)工具代码

随机推荐

  1. android中保存一个ArrayList到SharedPref
  2. 如何禁用主页键
  3. 2012第19周移动应用动态
  4. android 获取正在运行的应用程序列表
  5. LinearLayout分隔符未显示[重复]
  6. Android UI(二)DridView的菜单
  7. Android开发入门之为应用添加多个Activit
  8. Android实现一键复制粘贴,兼容低版本系统(a
  9. 虎扑体育客户端zen源码学习笔记
  10. Koush Ion onCompleted回调 - 处理Cancel