[root@docker ~]# cat /etc/redhat-release
CentOS Linux release 8.5.2111
一、Docker安装
[root@docker ~]# wget https://download.docker.com/linux/centos/docker-ce.repo
[root@docker ~]# mv docker-ce.repo /etc/yum.repos.d/
[root@docker ~]# yum install -y docker-ce
问题: 软件包 docker-ce-3:20.10.17-3.el8.x86_64 需要 containerd.io >= 1.4.1,但没有提供者可以被安装
- 安装的软件包的问题 buildah-1.22.3-2.module_el8.5.0+911+f19012f9.x86_64
- 软件包 buildah-1.22.3-2.module_el8.5.0+911+f19012f9.x86_64 需要 runc >= 1.0.0-26,但没有提供者可以被安装
- 无法为该任务安装最佳候选
- 软件包 runc-1.0.0-56.rc5.dev.git2abd837.module_el8.3.0+569+1bada2e4.x86_64 被模块过滤过滤掉
- 软件包 runc-1.0.0-66.rc10.module_el8.5.0+1004+c00a74f5.x86_64 被模块过滤过滤掉
- 软件包 runc-1.0.0-72.rc92.module_el8.5.0+1006+8d0e68a2.x86_64 被模块过滤过滤掉
(尝试在命令行中添加 '--allowerasing' 来替换冲突的软件包 或 '--skip-broken' 来跳过无法安装的软件包 或 '--nobest' 来不只使用软件包的最佳候选)
[root@docker yum.repos.d]# yum erase runc
# yum install docker-ce -y
启动Docker服务
[root@docker /]# systemctl enable docker
[root@docker /]# systemctl start docker
查看Docker版本及启动状态
[root@docker /]# docker -v
Docker version 20.10.17, build 100c701
[root@docker /]# docker version
Client: Docker Engine - Community
Version: 20.10.17
API version: 1.41
Go version: go1.17.11
Git commit: 100c701
Built: Mon Jun 6 23:03:11 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.17
API version: 1.41 (minimum version 1.12)
Go version: go1.17.11
Git commit: a89b842
Built: Mon Jun 6 23:01:29 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.6
GitCommit: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
runc:
Version: 1.1.2
GitCommit: v1.1.2-0-ga916309
docker-init:
Version: 0.19.0
GitCommit: de40ad0
查看Docker运行状态
[root@docker /]# docker info
Client:
Context: default
Debug Mode: false
Plugins:
app: Docker App (Docker Inc., v0.9.1-beta3)
buildx: Docker Buildx (Docker Inc., v0.8.2-docker)
scan: Docker Scan (Docker Inc., v0.17.0)
Server:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 20.10.17
Storage Driver: overlay2
Backing Filesystem: xfs
Supports d_type: true
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
runc version: v1.1.2-0-ga916309
init version: de40ad0
Security Options:
seccomp
Profile: default
Kernel Version: 4.18.0-348.el8.x86_64
Operating System: CentOS Linux 8
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 782MiB
Name: docker
ID: RKJE:I7BN:MCMM:VETL:XDH4:Y2JJ:QVSN:JUYV:IOOT:YJY3:V5XC:ZFQE
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
二、Docker容器管理
一、容器管理
[root@docker ~]# docker create -it --name "nginx01" b692 /bin/bash
f55c1a5e9969950bb720a2a4602ecd3092acbee0ab46ce63a177b68ec39d517d
[root@docker ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4df23d8bbe6e daocloud.io/library/centos "/bin/bash" 2 hours ago Up 2 hours test
[root@docker ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f55c1a5e9969 b692 "/docker-entrypoint.…" 33 seconds ago Created nginx01
4df23d8bbe6e daocloud.io/library/centos "/bin/bash" 2 hours ago Up 2 hours test
57246e6387d4 daocloud.io/library/centos:5 "/bin/bash" 3 hours ago Created wizardly_wiles
[root@docker ~]# docker start nginx01
nginx01
[root@docker ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f55c1a5e9969 b692 "/docker-entrypoint.…" About a minute ago Up 4 seconds 80/tcp nginx01
4df23d8bbe6e daocloud.io/library/centos "/bin/bash" 2 hours ago Up 2 hours test
[root@docker ~]# docker run -itd --name="nginx02" --restart=always b692 /bin/bash
[root@docker ~]# docker inspect nginx02
[root@docker ~]# curl 172.17.0.4
curl: (7) Failed to connect to 172.17.0.4 port 80: 拒绝连接
**断开与容器的连接且关闭容器**
[root@docker ~]# docker run -it --name="nginx03" --restart=always b692 /bin/bash
root@cdacff99decd:/# exit
exit
[root@docker ~]# docker run -it --name="nginx04" --restart=always b692 /bin/sh
#
[root@docker ~]# docker run -it --name="nginx05" --restart=always b692
[root@docker ~]# docker run -itd --name="nginx06" --restart=always b692
4c9ea1c7397b7afd5e2ce09a4d71e6cc0fd819c487979e6ec9876fbe312ac0f7
[root@docker ~]# docker inspect nginx06
...........
[root@docker ~]# curl 172.17.0.8
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
#查看容器
[root@docker ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4c9ea1c7397b b692 "/docker-entrypoint.…" 2 minutes ago Up 2 minutes 80/tcp nginx06
ae1b5d52e919 b692 "/docker-entrypoint.…" 3 minutes ago Up 2 minutes 80/tcp nginx05
5fad20bffc57 b692 "/docker-entrypoint.…" 6 minutes ago Up 4 minutes 80/tcp nginx04
cdacff99decd b692 "/docker-entrypoint.…" 12 minutes ago Up 7 minutes 80/tcp nginx03
85018f0878a8 b692 "/docker-entrypoint.…" 16 minutes ago Up 16 minutes 80/tcp nginx02
f55c1a5e9969 b692 "/docker-entrypoint.…" 28 minutes ago Up 25 minutes 80/tcp nginx01
4df23d8bbe6e daocloud.io/library/centos "/bin/bash" 3 hours ago Up 3 hours test
#查看所有容器
[root@docker ~]# docker ps -a
#只查看容器id
[root@docker ~]# docker ps -a -q
4c9ea1c7397b
ae1b5d52e919
5fad20bffc57
cdacff99decd
85018f0878a8
f55c1a5e9969
4df23d8bbe6e
57246e6387d4
#查看镜像id
[root@docker ~]# docker images -q
b692a91e4e15
5d0da3dc9764
300e315adb2f
1ae98b2c895d
#最近一次启动的容器
[root@docker ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4cea1c7397b b692 "/docker-entrypoint.…" 7 minutes ago Up 7 minutes 80/tcp nginx06
#查看容器信息
[root@docker ~]# docker inspect b692
#查看容器IP
[root@docker ~]# docker inspect --format='{{.NetworkSettings.IPAddress}}' nginx06
172.17.0.8
#启动容器
[root@docker ~]# docker start nginx01
nginx01
#正常关闭容器
[root@docker ~]# docker stop nginx01
#强制关闭容器
[root@docker ~]# docker kill nginx01
#关闭所有running状态的容器
[root@docker ~]# docker kill $(docker ps -q)
#删除容器
[root@docker ~]# docker rm nginx01
[root@docker ~]# docker rm f55c
根据状态删除所有容器
[root@qfedu.com ~]# docker rm $(docker ps -qf status=exited)
#重启容器
[root@docker ~]# docker restart nginx01
#暂停容器
[root@docker ~]# docker pause nginx01
#恢复容器
[root@docker ~]# docker unpause nginx01
#rename修改容器名称
[root@docker ~]# docker rename nginx01 nginx