主要记录一些常用的 Docker 命令。
Build and Ship any Application Anywhere.
podman login [repository_url]
podman pull [image]
podman images
mkdir -p /home/tom/container/journey
podman run -dit –name=journey-server -v /home/tom/container/logfile:/var/log/journey:Z [image]
podman ps -a
docker images
docker images tomcat
docker run hello-world
docker run [OPTIONS] IMAGE [COMMAND] [ARG ...]
OPTIONS 说明:有些是一个减号,有的是两个减号。
–name=”Container Name”: 指定容器名。
-d: 后台运行容器,并返回容器 ID,也即启动守护式容器。
-i: 以交互模式运行容器,通常与 -t 同时使用
-t: 为容器重新分配一个伪输入终端
-P: 随机端口映射
-p: 指定端口映射,通常有如下四种:
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
两种方式退出容器:
- exit
- ctrl + P + Q
docker run -it -p 8888:8080 tomcat
docker run -it -P tomcat
docker ps 中会显示端口映射信息
docker ps -l
docker ps -n 3
docker exec -it <CONTAINER-ID> /bin/bash
cd /usr/local/tomcat/webapps
rm -rf docs
提交一个容器的副本,使之成为一个新的镜像。
docker commit -m=”comments” -a=”author” Container-ID 要创建的镜像名:[tag name]
docker commit -m=”tomcat without docs” -a=”Bobby” 499cd373a543 com/bravo/tomcat2:1.0.0
docker images 便可以查看新修改的镜像
运行新的镜像:
docker run -it -p 7777:8080 com/bravo/tomcat2:1.0.0
Dockerfile
- 手动编写一个 dockerfile 文件,当然,必须要符合 file 的规范。
- 有这个文件后,使用
docker build -t
命令执行,获得一个自定义的镜像。 - 使用
docker run
命令执行这个镜像。
去 docker Hub 查看已有镜像的 Dockerfile.
Dockerfile 内容的基础知识:
- 每条保留字指令都必须为大写字母且后面要跟至少一个参数。
- 指令按照从上到下,顺序执行。
- 注释使用 #
- 每条指令都会创建一个新的镜像层,并对镜像进行提交。
Dockerfile 执行的大致流程:
- docker 从基础镜像运行一个容器。
- 执行一条指令,并对容器做出修改。
- 执行类似 docker commit 的操作,提交一个新的镜像层。
- docker 再基于刚提交的镜像,运行一个新容器。
- 执行 dockerfile 中的下一条指令,直到所有指令都执行完成。
Dockerfile 保留字指令:
-
FROM:
-
MAINTAINER
-
RUN
-
EXPOSE
-
WORKDIR
-
ENV
-
ADD:
-
COPY
-
VOLUME
-
CMD
-
ENTRYPOINT
-
ONBUILD ……
docker history IMAGE-ID