前言
记录下学习Docker基本知识的过程,和一些常用命令。
1. 查看docker信息/验证docker是否安装成功
docker version
docker info
2. 搜索、安装、查看镜像
搜索镜像
docker search hello-world
拉取/安装镜像(这里需要写镜像的全路径)
docker image pull hello-world
查看本地镜像
docker image ls
使用容器运行镜像
docker container run hello-world
# 这种也可以,省略了container
docker run hello-world
删除镜像(镜像被运行过的话,需要先删除容器)
查询容器(-a 包含了未运行的容器)
docker ps -a
(dockers ps等价于docker container ls)
停止容器
docker stop 容器ID
删除容器
docker rm 容器ID
删除镜像
docker image rm hello-world
- 容器查看和启动(好多容器命令可以省略container) 容器查看
docker container ls
容器启动
docker container run 镜像名
4. 安装启动nginx镜像
搜索镜像
docker search nginx
安装镜像
docker image pull nginx
启动nginx
# -p进行端口映射,格式主机端口:容器端口,将主机端口映射到容器端口
# -d 将容器后台运行,并返回容器ID
docker run -d -p 8080:80 nginx
进入容器
docker container exec -it 容器ID /bin/bash
查看nginx html目录
cd /usr/share/nginx/html
退出
exit
拷贝html文件到nginx目录中
docker container cp 文件路径 容器ID:docker中nginx的html目录
docker container cp ./myindex.html 40f113012354:/usr/share/nginx/html
访问 浏览器输入:http://127.0.0.1:8080/myindex.html
5. Docker 打包springboot程序镜像(最基础方式,端口号,启动传参等未研究)
(1)编译出jar文件
(2)新建目录,放入jar文件,并新建Dockerfile文件
(3)编辑Dockerfile文件(第一行是设置依赖的基础镜像)
FROM openjdk:8-jdk-alpine
VOLUME /tmp
COPY ./testdocker-0.0.1-SNAPSHOT.jar testdocker-demo.jar
ENTRYPOINT ["java","-jar","/testdocker-demo.jar"]
(4)编译镜像
# -t设置镜像名, jw/testdocker-demo是镜像名
docker build -t jw/testdocker-demo .
(5)运行镜像
docker run -d -p 8080:8080 jw/testdocker-demo
6. 其它docker知识学习
运行镜像
docker run -dit 镜像名/镜像ID
#(建议-d -I -t三个参数都加上)
进入容器
docker attach 容器id
# 需要注意的是这种方式进入容器,使用exit退出会导致容器停止,虽然也可以使用CTRL+P+Q退出而不停止容器
docker exec -it [CONTAINER_NAME or CONTAINER_ID] /bin/bash
# 建议使用第二种方式进入容器,exit退出容器不会停止
导入镜像文件
docker load < 文件
docker load -i janus-python-tool-multi.tar
为镜像文件设置名字
docker tag 镜像id 镜像名:tag(版本号)
提交容器修改,并生成新的镜像
docker commit -m "修改信息" -a "用户信息" 容器ID 镜像名:tag
docker commit -m "support multi publisher and listener" eb0156c50b1b janus-python-tool:multi
参考网址
https://juejin.cn/post/6844903953973395469
# 及该作者其它 docker 系列文章