linux怎么查看本机内存大小
231
2022-10-19
Docker第三篇(docker单机管理)
常用命令
1、容器版本和详细信息
docker info
docker --version #查看docker服务器版本
2、镜像查询
docker search 镜像名
建议大家直接去官网查看docker镜像包,看的更人性化一点。pull 镜像名即可。
3、镜像下载
docker pull 镜像名
下载镜像,默认后面不加版本号的话就是最新版本。
注意,SIZE不是说这个镜像就是这么大,镜像是分层的,不确定他到底有没有公用的层级,至少我们知道这个镜像等于或者大于他显示的这个大小。
4、容器运行
docker run
下载完以后我们要使用docker run运行容器,基本如法如下
这是非常简化的一个启动命令,run代表运行,--name就是给这个容器起一个名字,-p是指定端口映射,前面是宿主机端口,冒号后面是容器里面运行的端口, -d参数让它后台运行,最后的nginx:latest是指定使用的镜像名和版本号。
docker run --name nginx -p 80:80 -d nginx:latest
run命令的延伸:
--restart=always #容器的自动启动(容器服务启动后容器自动,相当于开机自启动)-h x.xx.xx #设置容器主机名,相当于linux的hostname命令,不同的是-h是永久设置--dns xx.xx.xx.xx #设置容器使用的DNS服务器,因为容器也需要上网--dns-search #DNS搜索设置--add-host hostname:IP 注入hostname<>IP解析,相当于linux改host文件,加入--add-host baidu.com:127.0.0.1 当然你可以可以exec进去改。--rm #服务停止是自动删除(docker服务停止后,该容器自动删除)
5、镜像删除和容器删除
docker rmi 和 docker rm
docker rmi是删除镜像命令,最后一个i其实就是images的缩写,docker rm是删除容器命令。这里我们要清楚一个步骤,我们知道docker容器用开发的话术说,docker容器是docker镜像实例化后的一个对象。删除的时候必须要先删除容器,才能删除镜像。如果用这个镜像的容器有好几个,你要是想删除这个镜像,就得把容器都删除了,才能删除镜像。日常中的标准操作是先停止容器,然后删除容器,最后删除镜像。如下图操作:
6、查看运行的或运行过的容器
docker ps
docker ps:显示当前正在运行的容器,但是通常我们会在后面再加一个-a参数,-a==ago代表过去的一起,docker ps -a
docker ps -a和docker ps -a -q都是最常用的,加上-q只显示docker id,一般用作删除所有容器时候使用,比如 docker rm -f $(docker ps -a -q)
7、容器的启动和停止
docker start/stop/restart #启动/关闭/重启容器
注意,docker ps是查看当前正在运行的容器,docker ps -a是查看运行过的容器(你看到的容器有可能是正在运行的,也有可能是运行过的,所以一般两个命令结合使用)
8、容器的详细信息查看
docker ps --no-trunc #查看容器完整128位id
docker inspect 容器id #查看容器所有基本信息
案例
[root@localhost docker]# docker inspect 2cf285ab4221[ { "Id": "2cf285ab4221081ebf426b5c1d4f3912e17281c9b8bb745a9d5fa4403da91330", "Created": "2020-04-02T03:52:09.556563387Z", "Path": "nginx", "Args": [ "-g", "daemon off;" ], "State": { "Status": "running", "Running": true, "Paused": false, "Restarting": false, "OOMKilled": false, "Dead": false, "Pid": 1948, "ExitCode": 0, "Error": "", "StartedAt": "2020-04-02T03:56:23.757687935Z", "FinishedAt": "2020-04-02T03:56:05.279269874Z" }, "Image": "sha256:ed21b7a8aee9cc677df6d7f38a641fa0e3c05f65592c592c9f28c42b3dd89291", "ResolvConfPath": "/var/lib/docker/containers/2cf285ab4221081ebf426b5c1d4f3912e17281c9b8bb745a9d5fa4403da91330/resolv.conf", "HostnamePath": "/var/lib/docker/containers/2cf285ab4221081ebf426b5c1d4f3912e17281c9b8bb745a9d5fa4403da91330/hostname", "HostsPath": "/var/lib/docker/containers/2cf285ab4221081ebf426b5c1d4f3912e17281c9b8bb745a9d5fa4403da91330/hosts", "LogPath": "/var/lib/docker/containers/2cf285ab4221081ebf426b5c1d4f3912e17281c9b8bb745a9d5fa4403da91330/2cf285ab4221081ebf426b5c1d4f3912e17281c9b8bb745a9d5fa4403da91330-json.log", "Name": "/nginx", "RestartCount": 0, "Driver": "overlay", "MountLabel": "", "ProcessLabel": "", "AppArmorProfile": "", "ExecIDs": null, "HostConfig": { "Binds": null, "ContainerIDFile": "", "LogConfig": { "Type": "json-file", "Config": {} }, "NetworkMode": "default", "PortBindings": { "80/tcp": [ { "HostIp": "", "HostPort": "80" } ] }, "RestartPolicy": { "Name": "no", "MaximumRetryCount": 0 }, "AutoRemove": false, "VolumeDriver": "", "VolumesFrom": null, "CapAdd": null, "CapDrop": null, "Dns": [], "DnsOptions": [], "DnsSearch": [], "ExtraHosts": null, "GroupAdd": null, "IpcMode": "", "Cgroup": "", "Links": null, "OomScoreAdj": 0, "PidMode": "", "Privileged": false, "PublishAllPorts": false, "ReadonlyRootfs": false, "SecurityOpt": null, "UTSMode": "", "UsernsMode": "", "ShmSize": 67108864, "Runtime": "runc", "ConsoleSize": [ 0, 0 ], "Isolation": "", "CpuShares": 0, "Memory": 0, "NanoCpus": 0, "CgroupParent": "", "BlkioWeight": 0, "BlkioWeightDevice": null, "BlkioDeviceReadBps": null, "BlkioDeviceWriteBps": null, "BlkioDeviceReadIOps": null, "BlkioDeviceWriteIOps": null, "CpuPeriod": 0, "CpuQuota": 0, "CpuRealtimePeriod": 0, "CpuRealtimeRuntime": 0, "CpusetCpus": "", "CpusetMems": "", "Devices": [], "DiskQuota": 0, "KernelMemory": 0, "MemoryReservation": 0, "MemorySwap": 0, "MemorySwappiness": -1, "OomKillDisable": false, "PidsLimit": 0, "Ulimits": null, "CpuCount": 0, "CpuPercent": 0, "IOMaximumIOps": 0, "IOMaximumBandwidth": 0 }, "GraphDriver": { "Name": "overlay", "Data": { "LowerDir": "/var/lib/docker/overlay/c9a4cfd4eeabb5664a45c955aa766a68f54bbd6295923890e6caa7c14ee2bb1f/root", "MergedDir": "/var/lib/docker/overlay/2061ad2ad9458bae3d05213e37a644d28a0731dca0942b344364c78da77aab8f/merged", "UpperDir": "/var/lib/docker/overlay/2061ad2ad9458bae3d05213e37a644d28a0731dca0942b344364c78da77aab8f/upper", "WorkDir": "/var/lib/docker/overlay/2061ad2ad9458bae3d05213e37a644d28a0731dca0942b344364c78da77aab8f/work" } }, "Mounts": [], "Config": { "Hostname": "2cf285ab4221", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "ExposedPorts": { "80/tcp": {} }, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "NGINX_VERSION=1.17.9", "NJS_VERSION=0.3.9", "PKG_RELEASE=1~buster" ], "Cmd": [ "nginx", "-g", "daemon off;" ], "ArgsEscaped": true, "Image": "nginx:latest", "Volumes": null, "WorkingDir": "", "Entrypoint": null, "OnBuild": null, "Labels": { "maintainer": "NGINX Docker Maintainers
docker inspect
9、查看容器使用的硬件资源情况,有点像top命令
docker stats 容器id
10、容器的日志查看
docker logs 容器id #查看容器日志
11、容器执行命令
docker exec 容器名 容器内部执行命令docker exec -it 容器名 /bin/bash
docker exec 容器名 容器内部执行命令:
这种情况下用在就只是查看一个东西,不需要进入到容器内部去,但是有个注意点,比如下图,我们可以使用ls -l命令,但是不能直接ll。
docker exec -it 容器名 /bin/bash
大家可看到圈红的地方已经变成了容器的id,相当于我们已经进入ssh到容器的内部了,退出输入exit回车既可以出去了。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~