Docker 学习笔记

189 阅读2分钟

前言

记录下学习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
  1. 容器查看和启动(好多容器命令可以省略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 系列文章