docker基本使用

docker 的基本用法
 
1、1镜像相关的操作
#从 dockerhub 上查找镜像

 解释说明:

NAME: 镜像仓库源的名称
DESCRIPTION: 镜像的描述
OFFICIAL: 是否 docker 官方发布
stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。
AUTOMATED: 自动构建。

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

docker rmi -f centos:latest

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:分配伪终端

centos: 启动 docker 需要的镜像
/bin/bash:说明你的 shell 类型为 bash,bash shell 是最常用的一种 shell, 是大多数 Linux 发行版默认的 shell。 此外还有 C shell 等其它 shell。

注意:进入容器后使用exit,完全退出容器

           如果要正常退出不关闭容器,请按Ctrl+P+Q进行退出容器

如下图,前者使用exit退出,后者使用Ctrl+P+Q后台运行容器

docker ps 命令参数
-a:列出当前所有正在运行的容器+历史上运行的
-l:显示最近创建的容器
 -n:显示最近n个创建的容器
-q:静默模式,只显示容器编号
--no-trunc:不截断输出
 
以守护进程的方式启动容器
[root@docker-01 ~]# docker run --name=test_centos -td centos
-d:后台运行
 

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

   访问 docker 里的 nginx 服务,复制一个终端窗口,执行如下命令

  [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

能查看到 nginx 容器在物理机映射的端口是 49154,访问nginx

直接访问内部容器(如下图)

 

流量走向:
访问物理节点 ip:port(容器在物理节点映射的端口)--→容器 ip:port(容器里部署的服务的端口)->
就可以访问到容器里部署的应用了

 

 

 

 

posted @   jefferyone  阅读(265)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示