最近试着在linux服务器上安装docker,记录一下过程。
引用自 菜鸟教程
1、使用官方安装脚本自动安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
或者
curl -sSL https://get.daocloud.io/docker | sh
一行代码搞定
启动docker:
sudo systemctl start docker
容器使用
获取镜像
如果我们本地没有 ubuntu 镜像,我们可以使用 docker pull 命令来载入 ubuntu 镜像:
$ docker pull ubuntu
启动容器
以下命令使用 ubuntu 镜像启动一个容器,参数为以命令行模式进入该容器:
$ docker run -it ubuntu /bin/bash
参数说明:
-i: 交互式操作。
-t: 终端。
ubuntu: ubuntu 镜像。
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
要退出终端,直接输入 exit:
启动已停止运行的容器
查看所有的容器命令如下:
docker ps -a
使用 docker start 启动一个已停止的容器:
docker start <容器 ID>
后台运行
在大部分的场景下,我们希望 docker 的服务是在后台运行的,我们可以过 -d 指定容器的运行模式。
docker run -itd --name ubuntu-test ubuntu /bin/bash
注:加了 -d 参数默认不会进入容器,想要进入容器需要使用指令 docker exec(下面会介绍到)。
停止容器的命令如下:
docker stop <容器 ID>
停止的容器可以通过 docker restart 重启:
docker restart <容器 ID>
查看docker日志 docker logs <容器 ID 或者 容器名称>
挂载命令 --volume
进入容器
在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:
docker attach
docker exec:推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。
使用root用户进入容器 docker exec -u 0 -it <容器ID> /bin/bash
导出和导入容器
导出容器
如果要导出本地某个容器,可以使用 docker export 命令。
docker export <容器 ID> > ubuntu.tar
导入容器快照
可以使用 docker import 从容器快照文件中再导入为镜像
cat ubuntu.tar | docker import - test/ubuntu:v1
删除容器
删除容器使用 docker rm 命令:
docker rm -f <容器 ID>
下面的命令可以清理掉所有处于终止状态的容器。
$ docker container prune
删除镜像
docker rmi <镜像 ID>
docker启动springboot jar包
1、将jar包放入一个新建目录中,在该目录下创建Dockerfile 文件
vi Dockerfile
写入一下内容
FROM java:8
MAINTAINER jerry
VOLUME /tmp
ADD demo.jar demo_1.jar
EXPOSE <项目端口>
ENTRYPOINT [“java”,"-jar",“demo_1.jar”]
注:
from java:8 拉取一个jdk为1.8的docker image
maintainer 作者是jerry
demo.jar 就是你上传的jar包
demo_1.jar 是你将该jar包重新命名为什么名称,在容器中运行
expose 该容器暴露的端口是多少,就是jar在容器中以多少端口运行
entrypoint 容器启动之后执行的命令,java -jar demo_1.jar 即启动jar
2、在dockerfile文件所在目录下执行docker build -f <dockefile 文件路径> -t blog .(语句后有一个点)
3、运行镜像
docker run -d -p 端口:端口 blog