Working with Containers

2024-06-06 20:18
文章标签 containers working

本文主要是介绍Working with Containers,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

[外链图片转存失败(img-fui4VSTG-1566044208471)(http://7xizmp.com1.z0.glb.clouddn.com/Docker-colorful.png)]

##回顾之前学习过的一些命令

docker run -i...交互式运行
docker run -d...background运行`daemon`守护进程
docker ps...Lists containers.(容器列表)
docker logs...Shows us the standard output of a container.(显示容器的标准输出)
docker stop...Stops running containers.

docker命令格式:

[sudo] docker [command] [flags] [arguments]...

##Seeing what the Docker client can do

docker client能干什么

[sudo] docker…显示docker后能执行的命令

##Seeing Docker command usage

docker 命令使用

docker command --help...查看特定命令的使用方式

##Running a Web Application in Docker

docker中运行一个web应用

 sudo docker run -d -P training/webapp python app.py

-P参数表示将容器内部要用到的网络端口映射到主机

docker ps -l -a

-l显示容器的详细信息,-a表示显示所有的容器信息(包含以前运行的)

docker run -d -P training/webapp python app.py
docker run -d -p 5000:5000 training/webapp python app.py

-P表示将image镜像的任何端口映射到我们自己的主机
-p自己指定image的网络端口和主机的端口

实战:
命令行输入

docker run -d -P training/webapp python app.py
docker ps -l -a
out:
adolph@geek:~$ docker ps -a -l
CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS              PORTS                     NAMES
1179c34ac0e0        training/webapp:latest   "python app.py"     2 minutes ago       Up 2 minutes        0.0.0.0:32769->5000/tcp   elegant_curie

这里重要的是port下面的值:0.0.0.0:32769->5000/tcp,我的理解是:这条命令把0.0.0.0:32769这个自己主机的端口映射到容器里的5000端口,所以当你在自己的浏览器输入0.0.0.0:32769是它会映射到images的5000端口从而访问app.py的网页

##A Network Port Shortcut

网站端口Shortcut

docker port [container id|container name]

这条命令表示输出容器的端口和映射端口,

5000/tcp -> 0.0.0.0:32769
adolph@geek:~$ docker port 1179c 5000
0.0.0.0:32769

##Viewing the Web Application’s Logs

查看web应用的logs

adolph@geek:~$ docker logs -f elegant_curie * Running on http://0.0.0.0:5000/
172.17.42.1 - - [12/May/2015 17:49:25] "GET / HTTP/1.1" 200 -
172.17.42.1 - - [12/May/2015 17:49:26] "GET /favicon.ico HTTP/1.1" 404 -

-f功能类似于tail -f而且我们可以看到标准输出的信息

##Looking at our Web Application Container’s processes

查看web应用容器的进程

使用docker top命令

adolph@geek:~$ docker top elegant_curie 
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                32280               2150                0                   01:48               ?                   00:00:00            python app.py

##Inspecting our Web Application Container

检查web应用容器

docker inspect comtainer name

Json格式输出信息

##Stopping&Start&Remove our Web Application Container

停止和启动我们的web容器

adolph@geek:~$ docker ps -l
CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS              PORTS                     NAMES
1179c34ac0e0        training/webapp:latest   "python app.py"     25 minutes ago      Up 25 minutes       0.0.0.0:32769->5000/tcp   elegant_curie       
adolph@geek:~$ docker stop elegant_curie 
elegant_curie
adolph@geek:~$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES                                                 
adolph@geek:~$ docker start elegant_curie 
elegant_curie
adolph@geek:~$ docker ps -l
CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS              PORTS                     NAMES
1179c34ac0e0        training/webapp:latest   "python app.py"     26 minutes ago      Up 7 seconds        0.0.0.0:32770->5000/tcp   elegant_curie       adolph@geek:~$ docker stop elegant_curie 
elegant_curie
adolph@geek:~$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
adolph@geek:~$ docker rm elegant_curie 
elegant_curie

##命令总结

docker...显示docker的命令
docker command --help...显示某个命令的帮助
docker ps -a -l...显示所有的容器信息
docker run -d -P ...-P映射容器的5000端口到主机的任意端口[32768-61000]
docker run -d -p ...-p自己指定映射端口
docker port [comtainer id|container name]...查看容器的端口情况
docker logs -f [container name|id] ...输出容器标准输出
docker inspect [container name]...输出json格式的容器的详细信息
docker top [container name...查看容器的进程
docker stop|start|rm [container name]...停止|开始|删除容器


公众号[QuanTalk],专注于计算机科学与技术、独立思考、阅读分享。欢迎关注交流

这篇关于Working with Containers的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1037123

相关文章

Eclipse或MyEclipse中Java Working Set管理项目

随着学习JAVA的时间的越来越久,项目也越来越多,Eclipse或MyEclipse界面中显示一堆! 每次工作使用到的项目肯定不会太多...... 每次从这么大数量的工程当中找到自己要使用的, 必须大规模的滚动滚动条...... 图片一   Project Explorer中:    图片二:Package Explorer中: 这样就好找很多了,分类放!

【PyTorch】使用容器(Containers)进行网络层管理(Module)

文章目录 前言一、Sequential二、ModuleList三、ModuleDict四、ParameterList & ParameterDict总结 前言 当深度学习模型逐渐变得复杂,在编写代码时便会遇到诸多麻烦,此时便需要Containers的帮助。Containers的作用是将一部分网络层模块化,从而更方便地管理和调用。本文介绍PyTorch库常用的nn.Sequen

Working with excel files using Pandas

https://www.geeksforgeeks.org/working-with-excel-files-using-pandas/

Ubuntu 18.04 This page isn’t working xxx.com didn’t send any data. ERR_EMPTY_RESPONSE

Ubuntu18.04 chrome Firefox 都试了一遍 提示如下: This page isn’t working xxx.com didn’t send any data. ERR_EMPTY_RESPONSE 本地 curl xxx.com 都可以出数据,找了一天的问题,最终发现是 Network-> Network Proxy 网络有代理 http://xxx.xxx.

k8s学习(二十六) K8s 解决/var/lib/docker/containers下日志多的问题

问题: K8s部署的服务会不断生成日志,最终导致/var/lib/docker/containers下生成很多日志,导致磁盘存满 解决: 1、自己清理 编写cleanlog.sh #!/bin/sh# drift echo "========= start clean /var/lib/docker/containers/ logs ============"logs=$(find /va

How to working with dates and times?

1.How to formatting date for display? Problem You need to format dates or time for output Solution Use the date command with a strftime format specification. 3. How to automating date Ranges?

Os bootup and stop working when the / directory is ful

From the Gnome UI, there is no response in the command line. So telnet from other machine, and cleanup and make up some space in / dir, it will work as normal.

神经网络 torch.nn---Containers

torch.nn — PyTorch 2.3 documentation torch.nn - PyTorch中文文档 (pytorch-cn.readthedocs.io) nn是Neural Network的简称,帮助程序员方便执行如下的与神经网络相关的行为: (1)创建神经网络 (2)训练神经网络 (3)保存神经网络 (4)恢复神经网络  torch.nn中的函数简介 Co

Managing Data in Containers

前面已经介绍了许多基础的知识,现在我们来一起学习如何管理Docker容器里面以及容器之间的数据 先介绍两种原始的方法来管理Docker中的应用 ata volumesData volume container Data volumes data volumns是专门设计的工具,它绕过了UFS直接工作与一个或多个容器。它为数据持久和分享提供了许多功能: 容器被创建时,卷(vol

svn working copy locked问题

问题描述: 用svn在项目文件夹下commit或者update时会出现错误提示“working copy locked” 解决: 1、在项目文件夹下,单机鼠标右键,选择tortoisesvn-》cleanup; 2、如果cleanup没有效果的话只好手动删除锁定文件。 cd 到svn项目目录下,然后执行如下命令 del lock /q/s E:\项目\卫生局\监督局