容器管理
容器为任务而生,一旦没有任务会停止运行
1. 下载容器镜像
[root@master ~]# docker pull nginx
2. 创建容器
[root@master ~]# docker create --name web01 nginx
3. 查询容器
[root@master ~]# docker ps -a
可以加参数-q表示静默状态显示(只显示容器id),可以配合docker rm -f $(docker ps -aq --filter status=exited)删除所有挂掉的容器
4. 运行容器
[root@master ~]# docker start [容器ID]
5. 删除容器
[root@master ~]# docker rm -f [容器ID]
6. 运行一个容器
[root@master ~]# docker run -d -p 80:80 --name web01 nginx
等于同时执行docker pull+docker create+ docker start
-d 表示后台运行,-p将宿主机的端口:容器端口做映射,-P自动映射端口
7. 进入容器
[root@master ~]# docker exec -it 391 [容器ID] /bin/bash
[root@master ~]# docker cp httpd.conf b633f02a59af:/usr/local/apache2/conf
7. 运行一个mysql容器
[root@master ~]# docker run -d -p 33066:3306 -e MYSQL_ROOT_PASSWORD=redhat -e MYSQL_DATABASE=wordpress --name mysql_wordpress mysql:5.6
-e 参数指定环境变量,还可以docker run --help查看命令说明以及可以加哪些参数
环境变量的参数可以查看docker file文件或者镜像站的说明
8. 查看容器详细信息
[root@docker-gz ~]# docker inspect 5e2
[
{
"Id": "5e223f83dd7e488c62a517b9235b5f6befc7563e089b463a81848c0258fdf3af",
"Created": "2023-06-21T01:51:23.993260233Z",
"Path": "/docker-entrypoint.sh",
"Args": [
"nginx",
"-g",
"daemon off;"
],
"State": {
"Status": "running",
"Running": true,
"Paused": false,
"Restarting": false,
"OOMKilled": false,
"Dead": false,
"Pid": 3776,
"ExitCode": 0,
"Error": "",
"StartedAt": "2023-06-21T01:51:24.592283872Z",
"FinishedAt": "0001-01-01T00:00:00Z"
},
"Image": "sha256:605c77e624ddb75e6110f997c58876baa13f8754486b461117934b24a9dc3a85",
"ResolvConfPath": "/var/lib/docker/containers/5e223f83dd7e488c62a517b9235b5f6befc7563e089b463a81848c0258fdf3af/resolv.conf",
"HostnamePath": "/var/lib/docker/containers/5e223f83dd7e488c62a517b9235b5f6befc7563e089b463a81848c0258fdf3af/hostname",
"HostsPath": "/var/lib/docker/containers/5e223f83dd7e488c62a517b9235b5f6befc7563e089b463a81848c0258fdf3af/hosts",
"LogPath": "/var/lib/docker/containers/5e223f83dd7e488c62a517b9235b5f6befc7563e089b463a81848c0258fdf3af/5e223f83dd7e488c62a517b9235b5f6befc7563e089b463a81848c0258fdf3af-json.log",
"Name": "/nginx",
"RestartCount": 0,
"Driver": "overlay2",
"Platform": "linux",
"MountLabel": "",
"ProcessLabel": "",
"AppArmorProfile": "",
"ExecIDs": [
"12f546f6d86fd5741c06c069352507ce8d7c43ea0cae1cfa4aeb2f8d271bb339"
],
"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,
"ConsoleSize": [
30,
157
],
"CapAdd": null,
"CapDrop": null,
"CgroupnsMode": "host",
"Dns": [],
"DnsOptions": [],
"DnsSearch": [],
"ExtraHosts": null,
"GroupAdd": null,
"IpcMode": "private",
"Cgroup": "",
"Links": null,
"OomScoreAdj": 0,
"PidMode": "",
"Privileged": false,
"PublishAllPorts": false,
"ReadonlyRootfs": false,
"SecurityOpt": null,
"UTSMode": "",
"UsernsMode": "",
"ShmSize": 67108864,
"Runtime": "runc",
"Isolation": "",
"CpuShares": 0,
"Memory": 0,
"NanoCpus": 0,
"CgroupParent": "",
"BlkioWeight": 0,
"BlkioWeightDevice": [],
"BlkioDeviceReadBps": [],
"BlkioDeviceWriteBps": [],
"BlkioDeviceReadIOps": [],
"BlkioDeviceWriteIOps": [],
"CpuPeriod": 0,
"CpuQuota": 0,
"CpuRealtimePeriod": 0,
"CpuRealtimeRuntime": 0,
"CpusetCpus": "",
"CpusetMems": "",
"Devices": [],
"DeviceCgroupRules": null,
"DeviceRequests": null,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": null,
"OomKillDisable": false,
"PidsLimit": null,
"Ulimits": null,
"CpuCount": 0,
"CpuPercent": 0,
"IOMaximumIOps": 0,
"IOMaximumBandwidth": 0,
"MaskedPaths": [
"/proc/asound",
"/proc/acpi",
"/proc/kcore",
"/proc/keys",
"/proc/latency_stats",
"/proc/timer_list",
"/proc/timer_stats",
"/proc/sched_debug",
"/proc/scsi",
"/sys/firmware"
],
"ReadonlyPaths": [
"/proc/bus",
"/proc/fs",
"/proc/irq",
"/proc/sys",
"/proc/sysrq-trigger"
]
},
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/f0403b2a9289097e8ef794f2dcc8211545b022dcbfe92b0b6b851016b4945cbd-init/diff:/var/lib/docker/overlay2/ffa41ffdfde6f9a758b4ca3cf60b90eddea53b48adba998907fe892e3089b6e2/diff:/var/lib/docker/overlay2/45358124255f8cadf8b1c9ac3ad79cbb29e66c7b781145858e801fd178174945/diff:/var/lib/docker/overlay2/bfa8102adf0844b0560c370db76a337112ccfa3092b35ac93a9b6585ea832cf9/diff:/var/lib/docker/overlay2/443f764031be474515faf9e055c1187cf3e81b4bf532dd633a55eb6b25413c74/diff:/var/lib/docker/overlay2/d93295b884dc8490c35f3f0dc890f6dca84c67d14d0f775e11f7c16f3637a458/diff:/var/lib/docker/overlay2/daa0b653c6f422ee88352106005723c979efff5c5f38d5fdb9e7c8554d34f7f0/diff",
"MergedDir": "/var/lib/docker/overlay2/f0403b2a9289097e8ef794f2dcc8211545b022dcbfe92b0b6b851016b4945cbd/merged",
"UpperDir": "/var/lib/docker/overlay2/f0403b2a9289097e8ef794f2dcc8211545b022dcbfe92b0b6b851016b4945cbd/diff",
"WorkDir": "/var/lib/docker/overlay2/f0403b2a9289097e8ef794f2dcc8211545b022dcbfe92b0b6b851016b4945cbd/work"
},
"Name": "overlay2"
},
"Mounts": [],
"Config": {
"Hostname": "5e223f83dd7e",
"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.21.5",
"NJS_VERSION=0.7.1",
"PKG_RELEASE=1~bullseye"
],
"Cmd": [
"nginx",
"-g",
"daemon off;"
],
"Image": "nginx",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": [
"/docker-entrypoint.sh"
],
"OnBuild": null,
"Labels": {
"maintainer": "NGINX Docker Maintainers <docker-maint@nginx.com>"
},
"StopSignal": "SIGQUIT"
},
"NetworkSettings": {
"Bridge": "",
"SandboxID": "ae118c85db36c77b74ec2afde0acd7a5067033de0f190400382bd272d6c47646",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"80/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "80"
},
{
"HostIp": "::",
"HostPort": "80"
}
]
},
"SandboxKey": "/var/run/docker/netns/ae118c85db36",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "e0d85ea20760dc0100919fe23024b532771ab10e749519fa9f1dd7220d1e07fe",
"Gateway": "172.17.0.1",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"MacAddress": "02:42:ac:11:00:02",
"Networks": {
"bridge": {
"IPAMConfig": null,
"Links": null,
"Aliases": null,
"NetworkID": "2b364d3273f34304b58042f2ab7b6767765ab3d03e8f9e304f60811391b0e6cc",
"EndpointID": "e0d85ea20760dc0100919fe23024b532771ab10e749519fa9f1dd7220d1e07fe",
"Gateway": "172.17.0.1",
"IPAddress": "172.17.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:11:00:02",
"DriverOpts": null
}
}
}
}
]