Docker命令

一、找镜像

去docker hub找到各种组件的镜像

bash 复制代码
docker pull nginx # 下载最新版

docker pull nginx:1.20.1

docker pull redis
docker pull redis:6.2.4

# 下载来的镜像都在本地
docker image # 查看所有镜像

docker rmi 镜像名:版本号/镜像id

二、启动容器

bash 复制代码
# -d 后台运行
# --restart=always 开机自启
dorker run --name=mynginx -d --restart--alays -p 88:80 nginx

#查看正在运行的容器
docker ps
# 查看所有
docker ps -a
# 删除停止的容器
docker rm 容器id/名字
docker rm -f myngin #强制删除正运行中的

# 停止容器
docker stop 容器id/名字
#再次启动
docker start 容器id/名字

# 应用开机自启
docker update 容器id/名字 --restart=alays

三、修改容器内容

bash 复制代码
# 进入容器内部的系统,修改容器内容
docker exec it 容器id /bin/bash


# 挂载 -v
# ro 表示容器里面不能改,rw表示容器里面可以更改
dorker run --name=mynginx -d --restart--alays -p 88:80 -v /data/html:/usr/share/nginx/html:ro nginx

四、提交改变

bash 复制代码
docker comit -a "jordan" -m "篮球之神" 容器id guigninx:v1.0

# 将镜像保存成压缩包
docker save -o abc.tar guigninx:v1.0

#别的机器加载这个镜像
docker load -i abc.tar

五、推送远程仓库

bash 复制代码
# 推送镜像到docker hub
docker tag local-image:tagname new-repo:tagname

docker push new-rep:tagname

#把旧镜像名字改成仓库要求的新版名字
docker tag guignginx:v1.0 leifengyang/guinginx:v1.0

docker login #登录dockerhub

docker logout #推送完成后退出
docker push

其他命令

bash 复制代码
docker logs 容器名/id  # 排错

# 挂载容器配置文件到主机  提前准备好一个配置文件
docker run -d -p 80:80 -v /data/html:/usr/share/nginx/html:ro -v /data/conf/nginx.conf:/etc/nginx/nginx.conf --name mynginx nginx

# 提前将容器的配置文件复制到主机
docker cp 容器id:/etc/nginx/nginx.conf /data/conf/nginx.conf

======================================================

一、编写SpringBoot的应用

开启一个redis容器

bash 复制代码
# 在主机中创建一个redis挂载目录 /data/redis
mkdir redis
vim redis.conf # 内部:appendonly yes    requirepass abc123abc

docker run -v /data/redis/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data -d --name myredis -p 6379:6379 redis redis-server /etc/redis/redis.conf 

项目中的配置文件application.properties

bash 复制代码
spring.redis.host=139.198.175.74
spring.redis.password=abc123abc

Controller

java 复制代码
@RestController
public class CounterController{
	
	@Auwowired
	StringRedisTemplate redisTemplate;
	
	@GetMapping("/hello")
	public String count(){
		Long increment = redisTemplate.opsForValue().increment("count-people");
		return "有【"+increment+"】人访问了这个页面";
	}
}

二、将应用打包成镜像

传统的步骤,采用maven的package打成jar包

在服务器上传后,java -jar xxx.jar

Docker打包:

①、项目中创建一个Dockerfile文件

bash 复制代码
FROM openjdk:8-jdk-slim
LABEL maintainer=jordan

COPY target/*.jar /app.jar

ENTRYPOINT["java","-jar","/app.jar"]

②、将jar包和Dockerfile文件上传到linux服务器中

③、通过命令打成镜像

bash 复制代码
docker build -t java-demo:v1.0.

三、启动容器

bash 复制代码
docker run -d -p 8080:8080 --name myjava-app java-demo:v1.0

四、进行推送镜像

bash 复制代码
docker login

docker tag java-demo:v1.0 jordan/java-demo:v1.0 # 旧名称改成新名称

docker push jordan/java-demo:v1.0

五、其他服务器可以拉去镜像

bash 复制代码
docker pull jordan/java-demo:v1.0
相关推荐
hackchen4 小时前
NexusTerminal一款视频移动端的webSSH
docker·云原生·eureka·web-ssh
开开心心就好9 小时前
高效账号信息管理工具,可安全随机生成密码
javascript·安全·docker·智能手机·pdf·word·excel
ahhhhaaaa-9 小时前
【k8s】阿里云ACK服务中GPU实例部署问题
阿里云·云原生·容器·kubernetes·云计算
谷新龙00110 小时前
docker compose部署kafka
docker·容器·kafka
ascarl201011 小时前
准确--CentOS 7.9在线安装docker
linux·docker·centos
David爱编程12 小时前
Docker Daemon 调优全解,打造高性能守护进程配置!
后端·docker·容器
张童瑶13 小时前
Docker 下备份 Mariadb 数据库文件
数据库·docker·mariadb
大猩猩爱分享13 小时前
Mac安装docker desktop
macos·docker
MC皮蛋侠客14 小时前
使用Gitlab CI/CD结合docker容器实现自动化部署
ci/cd·docker·gitlab
wearegogog12317 小时前
Docker Buildx 简介与安装指南
运维·docker·容器