当前位置:   article > 正文

Docker常用命令_eureka版本怎么看

eureka版本怎么看

Docker常用命令

安装Docker
安装 Docker

# yum install docker


安装指定版本 Docker

查看相应版本
# yum list docker --showduplicates | sort -r

#查询结果
docker.x86_64             2:1.13.1-208.git7d71120.el7_9                   extras
docker.x86_64             2:1.13.1-206.git7d71120.el7_9                   extras
docker.x86_64             2:1.13.1-205.git7d71120.el7.centos              extras
docker.x86_64             2:1.13.1-204.git0be3e21.el7                     extras
docker.x86_64             2:1.13.1-203.git0be3e21.el7.centos              extras
docker.x86_64             2:1.13.1-162.git64e9980.el7.centos              extras
docker.x86_64             2:1.13.1-161.git64e9980.el7_8                   extras
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

CentOS 指定版本安装
# yum install docker-1.13.1-205.git7d71120.el7.centos


Ubuntu 安装:

# 更新 apt-get
apt-get update
# 安装 Docker
sudo apt-get install -y docker.io
  • 1
  • 2
  • 3
  • 4

安装 Docker-CE

参考阿里云安装教程:
https://developer.aliyun.com/mirror/docker-ce


配置阿里云镜像加速

配置镜像地址

# vim /etc/docker/daemon.json

{
	//配置镜像加速.
	"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"],
	//Docker-ce安装k8s时需配置此选项.
	"exec-opts": ["native.cgroupdriver=systemd"]
}

https://xxxxxx.mirror.aliyuncs.com 为阿里云镜像地址,
使用该页面查看
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

帮助命令
查看版本号

# docker version

查看详细信息

# docker info

帮助命令

# docker --help



镜像命令
查询镜像

# docker search tomcat

查询 Star 大于50的镜像

# docker search -s 50 tomcat

拉取 Tomcat 最新版

# docker pull tomcat

拉取 Tomcat 8.5 版本

# docker pull tomcat:8.5

查看镜像列表

# docker images

删除 Tomcat 最新版 镜像

# docker rmi tomcat

删除 Tomcat 8.5 版本 镜像

# docker rmi tomcat:8.5

强制删除 Tomcat 8.5 版本 镜像 (镜像运行时删除)

# docker rmi -f tomcat:8.5

强制删除多个镜像

# docker rmi -f tomcat:8.5 nginx:1.17.3

强制删除全部镜像

# docker rmi -f $(docker images -qa)

容器命令

容器运行命令( run ) 参数详解

--name : 容器名称
-d : 后台运行
-i : 交互模式运行容器, 常与 -t 同时使用
-t : 为容器重新分配一个伪输入终端, 常与 -i 同时使用
-p : 指定端口映射, 有以下四种格式
         ip:hostPort:containerPort
         ip::containerPort
         hostPort:containerPort
         containerPort
-P : 随机端口映射

运行 交互式 容器

# docker run --name mycentos -it centos

列出正在运行的容器

# docker ps

列出当前所有正在运行的容器 + 历史运行过的容器

# docker ps -a

列出最近创建的容器

# docker ps -l

列出最近创建的 5 个容器

# docker ps -n 5

只显示容器编号

# docker ps -nq 5

启动运行过的容器

# docker start 667ae6cb6e2c (容器ID)
# docker start mycontos (容器名称)

关闭运行的容器

# docker stop 667ae6cb6e2c (容器ID)
# docker stop mycontos (容器名称)

强制关闭 ( kill ) 运行的容器

# docker kill 667ae6cb6e2c (容器ID)
# docker kill mycontos (容器名称)

删除容器

# docker rm 667ae6cb6e2c (容器ID)
# docker rm mycontos (容器名称)

强制删除运行中的容器

# docker rm -f 667ae6cb6e2c (容器ID)
# docker rm -f mycontos (容器名称)

强制删除所有容器

# docker rm -f $(docker ps -a -q)

查看容器内运行的进程

# docker top 667ae6cb6e2c (容器ID)

重新进入到容器

# docker attach 667ae6cb6e2c (容器ID)
# docker exec -it 667ae6cb6e2c /bin/bash ( 效果和上面一样. 但 exec 比 attach 强大 )

让容器执行命令并返回执行结果(不进入容器)

# docker exec -t 667ae6cb6e2c ls ( 在容器 667ae6cb6e2c 里执行 ls 命令, 并返回结果 )

从容器内拷贝文件到宿主机上

# docker cp 667ae6cb6e2c:/tmp/abc.txt /home
667ae6cb6e2c ( 容器ID ) :/tmp/abc.txt ( 容器内文件地址 ) /home ( 宿主机目录 )

提交修改过的容器

# docker commit -a=“作者” -m=“提交信息” 717d22ad96be brando/tomcat-8.5:8.5
brando/tomcat-8.5 ( 命名空间/容器名称 ) :8.5 ( tag 通常为版本号 )

容器数据卷

运行时添加容器数据卷

# docker run -it -v /HostVolume:/ContainerVolume centos
/HostVolume ( 宿主机目录地址 )
/ContainerVolume ( 容器目录地址 )

运行时添加容器只读数据卷(宿主机不只读, 容器只读)

# docker run -it -v /HostVolume:/ContainerVolume:ro centos
/HostVolume ( 宿主机目录地址 )
/ContainerVolume ( 容器目录地址 )
:ro ( read-only 只读 )

常见问题

运行Docker命令时出现出现错误.
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
  • 1

造成原因可能是Docker没有正常启动

# sudo service docker restart
  • 1

关闭Docker时出现出现错误
Warning: Stopping docker.service, but it can still be activated by:
  docker.socket
  • 1
  • 2
# systemctl stop docker.socket
# systemctl stop docker.service
  • 1
  • 2

其他常用命令

服务启动

# systemctl start docker


服务关闭
# systemctl stop docker

//上面的命令报错就执行下面的命令
# systemctl stop docker.socket
# systemctl stop docker.service
  • 1
  • 2
  • 3
  • 4
  • 5

服务启动并设置开机启动

# systemctl enable docker && systemctl start docker


卸载Docker

# yum remove -y docker*


卸载Docker-CE

# yum remove -y docker-ce*


查看日志

查看最后100行日志:
# docker logs -t --tail 100 667ae6cb6e2c (容器ID)

查看最后5分钟日志:
# docker logs -t --since 5m 667ae6cb6e2c (容器ID)


安装使用-Tomcat

1. 拉取 tomcat:8.5
> docker pull tomcat:8.5

2. 查看拉取的文件
> docker images

3. 创建挂载目录
> mkdir -p /alidata/server/tomcat8.5

4. 最简单方式运行
#最简单方式, 直接使用默认配置, 项目war包直接放入webapps目录:
> docker run -d -p 80:8080 --name atomic-website-tomcat 
-v /alidata/server/tomcat8.5/logs:/usr/local/tomcat/logs 
-v /alidata/server/tomcat8.5/webapps:/usr/local/tomcat/webapps 
--privileged=true tomcat:8.5

5. 自定义, 多项目方式. (不推荐)
 (1). 运行 tomcat 容器 80 为服务器端口, 8080 为容器端口
> docker run -d -p 80:8080 --name BrandoTomcat8.5 tomcat:8.5

 (3). 查看正在运行的容器
> docker ps

 (4). 进入容器复制出配置文件目录
> docker cp 2bec85dd01d7:/usr/local/tomcat/conf /alidata/server/tomcat8.5/conf

 (5). 进入tomcat容器, 删除 tomcat 自带的文档.
> docker exec -it 2bec85dd01d7 /bin/bash
> cd /usr/local/tomcat/webapps/
> rm -rf *
> exit

 (6). 提交修改内容, 生成新的镜像.
> docker commit -a="BrandLv" -m="Delete Doc Tomcat" 2bec85dd01d7 brando/tomcat:8.5

 (7). 删除当前运行的容器.
> docker rm -f 2bec85dd01d7

 (8). 重新运行容器并挂载响应的目录, 配置文件目录, 日志目录, war目录, www目录
> docker run -d -p 80:8080 --name BrandoTomcat8.5 
-v /alidata/server/tomcat8.5/conf:/usr/local/tomcat/conf 
-v /alidata/server/tomcat8.5/logs:/usr/local/tomcat/logs 
-v /alidata/server/tomcat8.5/war:/usr/local/tomcat/war 
-v /alidata/server/tomcat8.5/www:/usr/local/tomcat/www 
--privileged=true brando/tomcat:8.5



#其他配置自行修改.

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50

运行Jar包项目
1. 拉取 java 8
> docker pull openjdk:8u322

2. 运行 eureka 服务
> docker run -d -p 7001:7001 --name eureka-server --net=host 
  -v /alidata/server/docker/cloud-parent/eureka-server/eureka-server.jar:/usr/eureka-server.jar 
  --privileged=true openjdk:8u322 
  java -jar -Duser.timezone=GMT+08 /usr/eureka-server.jar
  --spring.profiles.active=test

3. 参数说明:
--net=host  容器公用主机HOST, 不然容器和容器之间IP不通.
--privileged=true 真正获得root权限
-Duser.timezone=GMT+08 设置时区
--spring.profiles.active=test 指定test配置文件
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

使用Journal查询Docker日志
#按项目查
xxxx 为 容器ID(项目名称)

#查看最后 100 行日志.
journalctl CONTAINER_NAME=xxxx -n 100

#查看今天的日志.
journalctl CONTAINER_NAME=xxxx --since today

#查看昨天的日志.
journalctl CONTAINER_NAME=xxxx --since yesterday

#查看20分钟前的日志.
journalctl CONTAINER_NAME=xxxx --since "20 min ago"

#查看指定日期区间的日志.
journalctl CONTAINER_NAME=xxxx --since "2021-03-15" --until "2021-03-16"

#查看指定时间区间的日志.
journalctl CONTAINER_NAME=xxxx --since "2021-03-15 08:00:00" --until "2021-03-15 09:00:00"

#查看最后100条日志.
journalctl CONTAINER_NAME=xxxx -n 100

#实时打印日志.
journalctl CONTAINER_NAME=xxxx -f

#按日志等级查询日志, 
# 0: emerg, 1: alert, 2: crit, 3: err, 4: warning, 5: notice, 6: info, 7: debug
journalctl CONTAINER_NAME=xxxx -p [日志等级]
journalctl CONTAINER_NAME=xxxx -p err --since "2021-03-15"

#显示所有系统日志占据的硬盘空间
journalctl --disk-usage

#指定日志文件占据的最大空间
journalctl --vacuum-size=1G

#指定日志文件保存多久
journalctl --vacuum-time=1years	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/794136
推荐阅读
相关标签
  

闽ICP备14008679号