1. 官网拉取操作系统镜像

docker pull centos:centos7.9.2009
# 拉取完成后可以看到镜像信息
[root@cs ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos centos7.9.2009 eeb6ee3f44bd 12 months ago 204MB
2. 封装服务并提交成另一个镜像
docker run -itd eeb6ee3f44bd /bin/bash
# 查看运行的容器
[root@cs ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b1f887fb3822 eeb6ee3f44bd "/bin/bash" 30 seconds ago Up 28 seconds wizardly_mahavira
# 进入容器并安装nginx服务
docker exec -it b1f887fb3822 /bin/bash
[root@b1f887fb3822 /]# cat > /etc/yum.repos.d/nginx.repo << 'EOF'
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
EOF
[root@b1f887fb3822 /]# yum -y install nginx
# 退出容器后将容器提交保存为镜像
docker commit -m 'add nginx' b1f887fb3822 centos_nginx
[root@cs ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos_nginx latest 8d9507d3382d 50 seconds ago 395MB
3. 启动容器并查看nginx服务是否正常
[root@cs ~]# docker run -itd --restart=always --name nginx_centos_web --net=host --privileged=true centos_nginx:latest /usr/sbin/init nginx
[root@cs ~]# ss -ntupl | grep nginx
tcp LISTEN 0 128 *:80 *:* users:(("nginx",pid=1482,fd=6),("nginx",pid=1480,fd=6),("nginx",pid=1479,fd=6),("nginx",pid=1478,fd=6),("nginx",pid=1477,fd=6))
