手记

Docker 常用命令笔记

1. 从镜像启动容器[docker run]

docker run -d -p 80:80 --name container image
docker run -it image:latest bash

-d 后台运行容器,返回容器ID
-p: 端口映射,格式为:主机(宿主)端口:容器端口
--name 容器名称

-i: 以交互模式运行容器,通常与 -t 同时使用
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致
-e key=value: 设置环境变量
--expose=[]: 开放一个端口或一组端口

2. 启动/停止/重启一个容器[docker start/stop/restart]

docker start/stop/restart container

3. 删除容器 & 镜像[docker rm/rmi]

删除容器 :
docker rm -f container
-f :强制删除一个运行中的容器

删除镜像:
docker rmi -f image
-f :强制删除

4. 在运行的容器中执行命令[docker exec]

运行bash,并分配一个终端:
docker exec -it container bash

运行容器中的脚本:
docker exec -it container /bin/sh /root/setup.sh

-d :后台运行
-i :保持 STDIN 打开
-t :分配一个伪终端

5. 查看容器日志[docker logs]

docker logs container

6. 查看容器[docker ps]

docker ps

-a :显示所有的容器,包括未运行的

7. 从 Dockerfile 创建镜像[docker build]

docker build -t image .

8. 查看本地镜像[docker images]

docker images

9. Dockerfile

Snipaste_2018-07-19_09-46-04.png

FROM java:8MAINTAINER sukaiyiADD sky-lieve-0.0.1-SNAPSHOT.jar app.jarADD application.properties application.propertiesEXPOSE 80CMD ["java","-jar","app.jar"]

Dockerfile命令详解

  1. FROM 指定基础镜像

FROM java:8
  1. MAINTAINER 维护者

MAINTAINER sukaiyi
  1. ADD 复制命令,把文件复制到镜像中

语法如下:
ADD <src> <dest>src :本地文件或是一个url
  1. COPY 复制命令,与ADD类似,src不能是url

  2. RUN 构建镜像时运行的命令,并提交运行结果

语法如下:
RUN ["executable", "param1", "param2"]
例如:
RUN ["/bin/bash", "-c", "echo hello"]
  1. CMD 容器启动时要运行的命令

CMD ["java","-jar","app.jar"]
  1. EXPOSE 暴露端口

EXPOSE 80
如果想使得容器与主机的端口有映射关系,必须在容器启动的时候加上 -P参数
  1. ENV 设置环境变量

ENV <key> <value>



作者:王不哈
链接:https://www.jianshu.com/p/aad83a44c75b

0人推荐
随时随地看视频
慕课网APP