社区电脑网络 → 浏览:帖子主题
分页: 1 2, 共 2 页
* 帖子主题:安装 docker
pojin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:1301
发帖:99
来自:保密
注册:2022-08-28 23:20:57
造访:2025-03-23 21:18:24
[ 第 13 楼 ] 回复
启动和停止容器的操作

docker start            #启动容器
docker restart        #重启容器
docker stop                #关闭当前运行的容器
docker kill                #强制关闭当前容器
docker stats            #容器占用内存状态
2022-11-23 11:08:20 IP:已设置保密
pojin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:1301
发帖:99
来自:保密
注册:2022-08-28 23:20:57
造访:2025-03-23 21:18:24
[ 第 14 楼 ] 回复
常用其他命令

后台启动容器

#问题!
#命令 docker run -d [镜像名] 启动容器失败
[root@k8s-master /]# docker run -d centos
045d6e51f4ebf39aec13bfe19172ceb34081bd69921108f684cfc879bc58ab29

#docker ps 会发现centos停止了
[root@k8s-master /]# docker ps -a
CONTAINER ID        IMAGE              COMMAND            CREATED            STATUS                    PORTS              NAMES
045d6e51f4eb        centos              "/bin/bash"        7 seconds ago      Exited (0) 6 seconds ago                      optimistic_benz

#常见的坑,docker 容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止
2022-11-23 11:08:49 IP:已设置保密
pojin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:1301
发帖:99
来自:保密
注册:2022-08-28 23:20:57
造访:2025-03-23 21:18:24
[ 第 15 楼 ] 回复
查看日志

#运行一个容器,会发现没有日志
docker logs -f -t --tail 10 [容器id]

-f            #跟踪日志输出
-t            #显示时间戳
--tail    #从日志末尾开始显示的行数

#编写一个shell脚本运行容器
"while true;do echo 666666;sleep 1;done"
[root@k8s-master /]# docker run -d centos /bin/sh -c "while true;do echo 666666;sleep 1;done"
d297ff12a815e8c1dd86ad951c30caca389ec5e854b6948c8b93d0e26ed7e10e
[root@k8s-master /]# docker ps -a
CONTAINER ID        IMAGE              COMMAND                  CREATED            STATUS              PORTS              NAMES
d297ff12a815        centos              "/bin/sh -c 'while t…"  2 seconds ago      Up 1 second                            angry_ardinghelli

#显示日志
[root@k8s-master /]# docker logs -f -t --tail 5 d297ff12a815
2020-06-18T09:38:26.352615139Z 666666
2020-06-18T09:38:27.357596179Z 666666
2020-06-18T09:38:28.363849798Z 666666
2020-06-18T09:38:29.369256113Z 666666
2020-06-18T09:38:30.377091746Z 666666
2022-11-23 11:09:07 IP:已设置保密
pojin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:1301
发帖:99
来自:保密
注册:2022-08-28 23:20:57
造访:2025-03-23 21:18:24
[ 第 16 楼 ] 回复
查看容器中进程信息

# docker top [容器id]
[root@k8s-master /]# docker top 480d8e4936dc
UID      PID      PPID    C      STIME    TTY        TIME          CMD
root    12812    12794  0      17:42    pts/0      00:00:00  /bin/bash
2022-11-23 11:09:36 IP:已设置保密
pojin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:1301
发帖:99
来自:保密
注册:2022-08-28 23:20:57
造访:2025-03-23 21:18:24
[ 第 17 楼 ] 回复
查看容器元数据
# docker inspect [容器id]
[root@k8s-master /]# docker inspect d297ff12a815
[
    {
        "Id": "d297ff12a815e8c1dd86ad951c30caca389ec5e854b6948c8b93d0e26ed7e10e",
        "Created": "2020-06-18T09:37:38.560647732Z",
        "Path": "/bin/sh",
        "Args": [
            "-c",
            "while true;do echo 666666;sleep 1;done"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 12246,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2020-06-18T09:37:39.066548855Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
    }
]
2022-11-23 11:13:10 IP:已设置保密
pojin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:1301
发帖:99
来自:保密
注册:2022-08-28 23:20:57
造访:2025-03-23 21:18:24
[ 第 18 楼 ] 回复
进入当前正在运行的容器

# 通常容器都是使用后台方式运行的,需要进入容器,修改一些配置

#方式一
#打开了新的终端,可以在里操作
docker exec -it [容器id] /bin/bash

[root@k8s-master /]# docker exec -it f1b799deb1b5 /bin/bash
[root@f1b799deb1b5 /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@f1b799deb1b5 /]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root          1      0  0 09:56 pts/0    00:00:00 /bin/bash
root        14      0  0 09:57 pts/1    00:00:00 /bin/bash
root        28      1  0 09:57 pts/0    00:00:00 ps -ef



#方式二
#进入容器当前正在执行的终端
docker attach [容器id]

[root@k8s-master ~]# docker  attach f1b799deb1b5
[root@f1b799deb1b5 /]#
2022-11-23 11:13:32 IP:已设置保密
pojin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:1301
发帖:99
来自:保密
注册:2022-08-28 23:20:57
造访:2025-03-23 21:18:24
[ 第 19 楼 ] 回复
从容器内拷贝文件到主机

docker cp 容器id:容器内id 目的主机路径

#进入容器创建一个文件
[root@k8s-master ~]# docker attach f1b799deb1b5
[root@f1b799deb1b5 /]# echo {a..z} >test.txt
[root@f1b799deb1b5 /]# cat /test.txt
a b c d e f g h i j k l m n o p q r s t u v w x y z

#将容器的文件拷贝到主机上
[root@k8s-master ~]# docker cp f1b799deb1b5:/test.txt /tmp/

[root@k8s-master ~]# ls /tmp/test.txt
/tmp/test.txt
[root@k8s-master ~]# cat /tmp/test.txt
a b c d e f g h i j k l m n o p q r s t u v w x y z

#拷贝是一个手动过程,之后使用 -v 卷的技术,可以实现自动同步;主机目录和容器目录同步
2022-11-23 11:13:53 IP:已设置保密
pojin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:1301
发帖:99
来自:保密
注册:2022-08-28 23:20:57
造访:2025-03-23 21:18:24
[ 第 20 楼 ] 回复
查看镜像、容器、数据卷所占用的空间

# docker system df

[root@k8s-master ~]# docker system df
TYPE                TOTAL              ACTIVE          SIZE            RECLAIMABLE
Images              1                  1                215.3MB        0B (0%)
Containers          1                  0                  104B        104B (100%)
Local Volumes      2                  0                  0B          0B
Build Cache        0                  0                  0B          0B

2022-11-23 11:14:08 IP:已设置保密
pojin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:1301
发帖:99
来自:保密
注册:2022-08-28 23:20:57
造访:2025-03-23 21:18:24
[ 第 21 楼 ] 回复
测试运行一个nginx容器,端口映射到主机的3344

[root@k8s-master ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
8559a31e96f4: Pull complete
8d69e59170f7: Pull complete
3f9f1ec1d262: Pull complete
d1f5ff4f210d: Pull complete
1e22bfa8652e: Pull complete
Digest: sha256:21f32f6c08406306d822a0e6e8b7dc81f53f336570e852e25fbe1e3e3d0d0133
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

[root@k8s-master ~]# docker images
REPOSITORY          TAG                IMAGE ID            CREATED            SIZE
centos              latest              831691599b88        2 days ago          215MB
nginx              latest              2622e6cca7eb        9 days ago          132MB

[root@k8s-master ~]# docker run -d --name nginx01 -p 3344:80 nginx:latest
145afc9f6eaa994b51d2c00bb28613bff2b1f9a48ea7f26a3c591bd40102cdd9

[root@k8s-master ~]# curl -I 127.0.0.1:3344
HTTP/1.1 200 OK
Server: nginx/1.19.0
Date: Fri, 19 Jun 2020 03:13:22 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 26 May 2020 15:00:20 GMT
Connection: keep-alive
ETag: "5ecd2f04-264"
Accept-Ranges: bytes

# 进入容器
[root@k8s-master ~]# docker exec -it nginx01 /bin/bash
root@145afc9f6eaa:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@145afc9f6eaa:/# cd /etc/nginx/
root@145afc9f6eaa:/etc/nginx# ls
conf.d        koi-utf  mime.types  nginx.conf  uwsgi_params
fastcgi_params    koi-win  modules    scgi_params  win-utf


2022-11-23 11:14:41 IP:已设置保密
pojin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:1301
发帖:99
来自:保密
注册:2022-08-28 23:20:57
造访:2025-03-23 21:18:24
[ 第 22 楼 ] 回复
测试运行一个tomcat的容器,端口映射到主机的3355

# 下载镜像再启动
docker pull tomcat
# 启动运行
docker run -d -p 3355:8080 --name tomcat01 tomcat

# 访问此容器会报错404,是因为tomcat官网镜像没有webapps,镜像源把所有镜像不必要的都剔除了,默认是最小可运行环境

# 进入容器,将默认的webapps.dist的内容拷贝一份到webapps目录下
[root@k8s-master ~]# docker exec -it tomcat01 /bin/bash
root@23e4e460879b:/usr/local/tomcat# cp -a webapps.dist/* webapps/

# 再一次访问就成功了
[root@k8s-master ~]# curl -I 127.0.0.1:3355
HTTP/1.1 200
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Date: Fri, 19 Jun 2020 03:39:34 GMT


2022-11-23 11:15:00 IP:已设置保密
pojin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:1301
发帖:99
来自:保密
注册:2022-08-28 23:20:57
造访:2025-03-23 21:18:24
[ 第 23 楼 ] 回复
测试部署一套elasticsearch+kibana的日志监控的容器

启动一台es容器

# es暴露的端口很多
# es十分耗内存
# es数据一般需要放置到安全目录挂载

# 启动elasticsearch
[root@k8s-master ~]# docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2

#访问
[root@k8s-master ~]# curl 127.0.0.1:9200
{
  "name" : "7426e97975a1",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "aNGISnU9QZm3qQw9obQiPg",
  "version" : {
    "number" : "7.6.2",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f",
    "build_date" : "2020-03-26T06:34:37.794943Z",
    "build_snapshot" : false,
    "lucene_version" : "8.4.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

使用命令dcker stats查看es容器的内存占用情况太大


# 关闭刚刚启动的es容器,增加内存的限制,修改配置文件 -e 环境配置修改
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m"  elasticsearch:7.6.2


[root@k8s-master ~]# curl  127.0.0.1:9200
{
  "name" : "66fdfb9147aa",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "7vONQG4HSjKXdtpMmEzbIg",
  "version" : {
    "number" : "7.6.2",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f",
    "build_date" : "2020-03-26T06:34:37.794943Z",
    "build_snapshot" : false,
    "lucene_version" : "8.4.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

启动一台kibana容器

# 运行一台kibana7.6.2的容器,并添加到elasticsearch容器的网络中,使用--link或者创建自定义网络
docker run -d --name kibana --link elasticsearch -p 5601:5601 kibana:7.6.2

# 访问查看;选择一个样本数据进行测试是否与es连接
2022-11-23 11:15:43 IP:已设置保密
分页: 1 2, 共 2 页
快速回复主题
账号/密码
用户: 没有注册?密码:
评论内容