2022-10-16
docker下载官网 mac和win系统可以直接下载点击安装
docker_Linux环境安装
官方镜像
记录一些docker高频常用命令
# 下载镜像
docker pull [镜像名称]:[版本] #其中版本不写默认为latest 如 docker pull nginx 或者 docker pull nginx:1.23.1-alpine
#查看镜像
docker images
# 启动容器
docker run [镜像名称] # docker run nginx
# 查看启动的镜像
docker ps # 可以添加-a 查看全部容器 如: docker ps -a
# 关闭容器
dockers stop [容器ID|CONTAINER ID ] 或者 [名称:NAMES] # docker ps查找的结果
# 重启容器
docker restart [容器ID|CONTAINER ID ] 或者 [名称:NAMES]
# 移除容器
docker rm [容器ID|CONTAINER ID ] 或者 [名称:NAMES]
# 移除镜像 使用docker images 查找
docker rmi [容器id :IMAGE ID]或者[容器名称:REPOSITORY]
## 直接清理
# **第一个停止全部容器,第二个删除全部容器,第三个删除全部镜像**
docker stop $(docker ps -aq);
docker rm $(docker ps -aq);
docker rmi $(docker images -q);
# 非常用
# 文件复制 需要使用docker命令,只能在宿主机上执行
# 上传 文件名 容器ID:路径,跟scp类似
docker cp jdk-8u301-linux-x64.tar.gz 4463b770af57:/~/.
# 下载到当前
docker cp 4463b770af57:/root/jdk-8u301-linux-x64.tar.gz .
# 提交本地,保存已经写好的数据 名称:版本号
docker commit [容器ID] ubuntu_java:v2
# 给提交的新容器添加端口,后面java -jar 为附带启动命令
docker run -it -d -p 8080:8080 --name newname ubuntu_java:v2 java -jar /root/java/demo.jar
# 下面命令容器名称和id 是通过 docker ps 查找的结果
docker logs -f -t [容器名称| 容器ID] # 查看容器运行日志
# 进入容器 其中大部分 容器是 bash少部分是 sh 故 有的容器需要改成 /bin/sh
docker exec -it [容器名称| 容器ID] /bin/bash # exit 退出 windows环境需要在cmd或者poershell中使用
# 重命名
docker rmname oldName newName
# 修改容器名称
docker tag a9405730d932 ubuntu_java:v1
# 导出 # 注意 save和export 都是导出,save自己使用,带有历史,export给其他人用,不带历史
docker save -o ubuntu.tar ubuntu_bae:v1
# 导入
docker load < ubuntu.tar
其他启动需要带上的命令
-d 后台启动,不打印日志,需要查看日志,可以不带上,否则强烈建议带上
-v 挂载,如数据日志挂载本地路径:容器路径 如 -v /本地文件路径/test:/home
--name 重命名
-p 端口映射 如 -p 33306:3306 将本地33306 映射到容器3306上,本地访问使用33306
简易 dockefile 搭建直接的docker镜像
说明:microservice-eureka-server:0.0.1 前面为服务名称:版本好
打包
#某于哪个镜像
From java:8
#复制文件到容器
ADD microservice-eureka-server-0.0.1-SNAPSHOT.jar /app.jar #声明需要暴露的端口
EXPOSE 8761
#配置容器启动后执行的命令
ENTRYPOINT ["java" ,"-jar","/app.jar"]
3、使用docker build命令构建镜像
# docker build -t javakk.jar:0.0.1 .
必须小写。
执行服务
docker run -p 8903:8903 javakk.jar:0.0.1
实际情况需要使用多个容器故docker-compose进行多个容器进行管理
备注: docker-compose 需要安装,注意版本,docker-compose 其实就是docker常用命令组合,常用服务的docker-compose 网上有很多
## docker-compose 使用 需要在docker-compos.yml 目录下执行下属名称才能生效
docker-compose up -d 启动
docker-compose stop 关闭
docker-compose rm [关闭后]移除
docker-compose rm -fs 强制关闭并移除镜像 还有参数v 表示移除卷积数据,一般不用