赞
踩
# yum install 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
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
参考阿里云安装教程:
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
# docker version
# docker info
# docker --help
# docker search tomcat
# docker search -s 50 tomcat
# docker pull tomcat
# docker pull tomcat:8.5
# docker images
# docker rmi tomcat
# docker rmi 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)
--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
# docker ps -n 5
# docker ps -nq 5
# docker start 667ae6cb6e2c (容器ID)
# docker start mycontos (容器名称)
# docker stop 667ae6cb6e2c (容器ID)
# docker stop mycontos (容器名称)
# 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 只读 )
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
造成原因可能是Docker没有正常启动
# sudo service docker restart
Warning: Stopping docker.service, but it can still be activated by:
docker.socket
# systemctl stop docker.socket
# systemctl stop docker.service
# systemctl start docker
# systemctl stop docker
//上面的命令报错就执行下面的命令
# systemctl stop docker.socket
# systemctl stop docker.service
# systemctl enable docker && systemctl start docker
# yum remove -y docker*
# yum remove -y docker-ce*
查看最后100行日志:
# docker logs -t --tail 100 667ae6cb6e2c (容器ID)
查看最后5分钟日志:
# docker logs -t --since 5m 667ae6cb6e2c (容器ID)
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. 拉取 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配置文件
#按项目查 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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。