学习笔记,仅供参考
docker指令
docker version:查看相关版本信息
docker info:巨详细信息,包括镜像和容器数量
docker --help 查看命令去官网或者--help
镜像images
docker images:查看已下载镜像
REPOSITORY:仓库源 TAG 标签 IMAGE ID 镜像的id CREATED 创建时间 SIZE 镜像大小
docker images -a:显示所有镜像
docker images -q:显示所有镜像的id
docker search mysql:搜索相关的应用镜像
docker search mysql --filter=STARS=5000:过滤
docker pull:下载镜像
docker rmi -f :删除 image镜像 删除镜像可以通过名称和id来删;删除多个容器 用空格隔开;
docker rmi -f $(docker images -aq):删除全部容器
容器container
docker pull centos:下载镜像
docker run [可选参数] images
--name="name" 容器名称,可自定义
-d 后台运行方式相当于nohup
-it 使用交互方式运行,进入容器查看内容
-p 指定容器的端口 -p 8080:8080
-p ip:主机端口:容器端口
-p 主机端口:容器端口
-p 容器接口
容器端口
-p 随机指定端口
[root@centos7 overlay2]
[root@cc50a97ce1d7 /]
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
[root@4bd8328d7a35 /]
docker ps:查看正在运行的进程
docker ps -a:查看曾经所有运行的镜像
docker ps -n=2:查看最经运行的几个容器
docker ps -q:只显示容器的编号 指令可以合并 比如-a -q ==-aq
[root@d0c1d9333656 /]
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d0c1d9333656 centos "/bin/bash" 2 minutes ago Up 2 minutes vigilant_northcutt
docker rm 容器id :删除容器。不能删除正在运行的容器,如果强制删除 rm -f
docker rm -f $(docker ps -aq):删除所有容器
docker ps -a -q|xargs docker rm :删除所有容器
docker start 容器id 启动容器
docker restart 容器id 重启容器
docker stop 容器id 停止当前正在运行的容器
docker kill 容器id 强制停止指定容器
写一个死循环并打印10条日志
[root@centos7 overlay2]
be2529db6ca5f54fef5aa5e6877df71043aa775fddfcb1405f100ce6cfaa05ef
[root@centos7 overlay2]
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
be2529db6ca5 centos "/bin/sh -c 'while t…" 10 seconds ago Up 8 seconds amazing_colden
[root@centos7 overlay2]
2021-10-17T13:39:55.804808888Z yang
2021-10-17T13:39:56.810690391Z yang
2021-10-17T13:39:57.816853013Z yang
2021-10-17T13:39:58.822710960Z yang
2021-10-17T13:39:59.828622238Z yang
2021-10-17T13:40:00.835065909Z yang
2021-10-17T13:40:01.841978343Z yang
2021-10-17T13:40:02.849322981Z yang
2021-10-17T13:40:03.854686749Z yang
2021-10-17T13:40:04.861178394Z yang
2021-10-17T13:40:05.865864647Z yang
2021-10-17T13:40:06.873827549Z yang
2021-10-17T13:40:07.878948714Z yang
2021-10-17T13:40:08.885135898Z yang
2021-10-17T13:40:09.891779713Z yang
2021-10-17T13:40:10.898066733Z yang
2021-10-17T13:40:11.903649141Z yang
docker top 容器ip(这个是ip)
docker inspect 容器ip 查看镜像的元数据
[root@centos7 overlay2]
[root@a58ec8576a45 /]
root 511 0.0 0.0 9192 732 pts/0 S+ 13:52 0:00 grep --color=auto java
docker arrach 容器id :进入容器正在执行的终端,不会启动新的终端
dicker attach 容器id :进入容器后开启一个新的终端
[root@centos7 home]
nignx,tomcat,elasticsearch部署
nignx部署
[root@centos7 ~]
fa744e5b3c6246cc6d675a18c2a0aeda3408f43284c66e638d79b0d16e0655c7
本机自测nginx
[root@centos7 ~]
<!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>
http://192.168.31.135:3343/
[root@centos7 ~]
root@e3dd62d35491:/
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@e3dd62d35491:/
root@e3dd62d35491:/etc/nginx
conf.d fastcgi_params mime.types modules nginx.conf scgi_params uwsgi_params
tomcat部署
docker run -it --rm tomcat:9.0 但是不知道如何设置外网访问的端口
1.docker pull tomcat会直接下载最新版本的tomcat
2.docker run -d --name tomcat01 -p 3355:8080 tomcat运行之后,外网可随意访问
3.docker exec -it tomcat01 /bin/bash 进入容器里面
这种通过阿里云镜像安装的镜像,默认是最小的情况,剔除了所有不必要的文件;最小可运行环境。
cp -r webapps.dist/* webapps 拷贝命令,-r递归的复制,可能是因为文件夹的缘故
elasticsearch部署
这样部署很简单,但是相当消耗资源,可以使用docker top 容器id查看
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
docker stats 查看cpu使用率
[root@centos7 ~]
{
"name" : "e157f4d5afb3",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "ai86HhRRRpmJ4BosWvbmRQ",
"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"
}
想要节省资源,那就限制他启动时占用的资源,需要==-e==进行设定
docker run -d --name elasticsearch02 -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms64m -Xmx512m" -e "discovery.type=single-node" elasticsearch:7.6.2
portainer 可视化界面
进入初始页面之后,设置一下密码就可以登陆了,可以在界面上查看docker内部的所有信息。
docker可视化界面 portainer
docker run -d -p 8088:9000 \
> --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
提交镜像
保存当前容器的状态,提交到镜像,以后可以使用我们自己保存的镜像,可使用docker images进行查看, 以tomcat为例
docker commit -a="yangkaibo" -m="add webapps app" 026959adc3dc tomcato2:1.0
|