docker基本使用

解释说明:
1.2 下载镜像
[root@docker-01 ~]# docker pull centos
查看本地的docker镜像
[root@docker-01 ~]# docker images
1.3 把镜像做成离线压缩包
[root@docker-01 ~]# docker save -o centos.tar.gz centos
1.4 删除镜像
[root@docker-01 ~]# docker load -i centos.tar.gz
2. 容器相关操作
2.1 以交互式方式启动并进入容器(两种方式)
[root@docker-01 ~]# docker run --name=centos7 -it centos:latest /bin/bash
[root@docker-01 ~]# docker run --name=test_centos -it eeb6ee3f44bd /bin/bash
docker run:运行并创建容器
--name:容器的名字
-i:交互式的
-t:分配伪终端
注意:进入容器后使用exit,完全退出容器
如果要正常退出不关闭容器,请按Ctrl+P+Q进行退出容器
如下图,前者使用exit退出,后者使用Ctrl+P+Q后台运行容器
2.2 停止正在运行的容器
[root@docker-01 ~]# docker stop 57b5d8e7b602
或者使用docker stop test_centos
启动已经停止的容器
[root@docker-01 ~]# docker start 57b5d8e7b602
或者使用docker start test_centos
2.3进入容器
[root@docker-01 ~]# docker exec -it test_centos /bin/bash
或者使用docker attach 57b5d8e7b602 进入容器
exec:在一个正在运行的容器中执行命令,exec是针对已运行的容器实例进行操作,在已运行的容器中执行命令,不创建和启动新的容器。
attach :将本机的标准输入(键盘)、标准输出(屏幕)、错误输出(屏幕)附加到一个运行的容器,也就是说本机的输入直接输到容器中,容器的输出会直接显示在本机的屏幕上
重启容器
[root@docker-01 ~]# docker restart 57b5d8e7b602
删除容器
[root@docker-01 ~]# docker rm -f nginx -f:强制删除
3、通过docker部署nginx服务
docker run --name=nginx2 -itd -p 80 centos:centos7.9.2009
查看映射的端口
[root@docker-01 ~]# docker ps |grep nginx
4be4e0e4d55d centos:centos7.9.2009 "/bin/bash" 51 seconds ago Up 50 seconds 0.0.0.0:49154->80/tcp, :::49154->80/tcp nginx2
进入容器
[root@docker-01 ~]# docker exec -it nginx2 /bin/bash
安装常用的服务
[root@4be4e0e4d55d /]# yum install net-tools wget vim -y
安装nginx,如果yum没有找到nginx,需要下载yum包
[root@4be4e0e4d55d ~]# yum install nginx -y
启动nginx
[root@4be4e0e4d55d ~]# /usr/sbin/nginx
查找html文件的位置,打开配置文件
[root@4be4e0e4d55d /]# vim /etc/nginx/conf.d/default.conf
root /usr/share/nginx/html;
编写 /usr/share/nginx/html/html.html
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
</head>
<body>
<h1>hello,my name is docker-01</h1>
</body>
</html>
重启配置文件
[root@4be4e0e4d55d html]# nginx -s reload
[root@docker-01 ~]# docker ps |grep nginx
4be4e0e4d55d centos:centos7.9.2009 "/bin/bash" 14 minutes ago Up 14 minutes 0.0.0.0:49154->80/tcp, :::49154->80/tcp nginx2

直接访问内部容器(如下图)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!