docker 笔记 docker 基础 docker 常用命令

  • 创建容器

docker create ubuntu:14.04 --name="name"

docker run ubuntu:14.04 --name="runname"

run 和 create 的区别

create 只创建容器不启动 ; run 创建容器并启动

  • 交互型容器

运行在前台 exit 、 docker stop 、 docker kill 退出终端并停止

-i 打开容器的标准输入 (STDIN)

-t 为容器建立一个命令行终端(shell)

ex:

docker run -i -t --name="inspect_shell" ubuntu /bin/bash

  • 后台型容器

docker run -name daemon_while -d ubuntu /bin/sh -c "while true ;do echo hello docker ; sleep 1; done"

-d

  • 查看容器

docker ps

查看当前正在运行的容器

docker ps -a

查看所有容器

docker ps -a -q

只显示容器ID 可用于关闭/删除所有容器

docker ps -l

只列出最后创建的容器

docker ps -n=2

-n=X 列出最后创建的X个容器

  • 启动容器

docker start 容器名或ID

--restart 让容器能够自动重启

--restart=always 不管容器返回码是什么都会重启

--restart=on-failure:5 当收到一个非 0 的返回码时,最多尝试重启容器5次

  • 终止容器

docker stop 容器名或ID

  • 删除容器

docker rm 容器名或ID

-f 强制删除

docker rm 'docker ps -a -q'

  • 依附容器

docker attach ubuntu

后台型容器是无法依附终端的,因为它本身就不接受用户交互输入

  • 查看容器日志

docker logs -f 容器名

-f 实时查看日志

-f --tail=5 实时查看最后5行日志

-f --tail=5 -t 实时查看最后5行日志以及日志产生时刻

  • 查看容器进程

docker top 容器名

  • 查看容器信息

docker inspect 容器名

用于查看容器的配置信息,包含: 容器名、环境变量、运行命令、主机配置、网络配置和数据卷配置等

-f或 --format

docker inspect --format='{{ .State.Running }}' deamon_dave

docker inspect --format='{{ .NetworkSettings.IPAddress }}' deamon_dave

  • 容器内执行命令

后台型任务

docker exec -d 容器名 touch /etc/new.file

交互型任务

docker exec -t -i 容器名 /bin/bash

  • 容器导入和导出

docker export 容器名 > my_xx.tar

cat my_xx.tar | docker import - imported:container

docker import URL res:tag

镜像:

镜像是一个包含程序运行必要依赖环境和代码的只读文件,它采用分层的文件系统,将每一次改变已读写层的形式增加到原来的只读文件上。

镜像管理

 docker images  
 docker insect 容器名

 docker search  容器名  

docker pull 容器名 

docker rmi 容器名ID 

docker commit -m="message" --author="duoban" ID tag 
 docker commit -m="message" --author="duoban" ID duoban/test:v1 

Dockerfile

1 # Version: 1.0.1

制定待扩展的父级镜像。
2 FROM ubuntu:latest
3
声明创建的镜像的作者信息
4 MAINTAINER duoban "duoban@db.com"
5
6 #设置root用户为后续命令的执行者
7 USER root
8
9 #执行操作
10 RUN apt-get update
11 RUN apt-get install -y nginx
12
13 #使用&&拼接命令
14 RUN touch test.txt && echo "abc" >> abc.txt
15
16 #对外暴露端口
17 EXPOSE 80 8080 1038
18
19 #添加文件
20 ADD abc.txt /opt
21
22 #添加文件夹
23 ADD /webapp /opt/webapp
24
25 #添加网络文件
26 ADD https://cdn.pixabay.com/photo/2016/01/03/00/09/whale-1118876_1280.jpg /opt/
27
28 #设置环境变量
29 ENV WEBAPP_ROOT=9090
30
31 #设置工作目录
32 WORKDIR /opt/
33
34 #设置启动命令
35 ENTRYPOINT ["ls"]
36
37 #设置启动参数
38 CMD [ "-a", "-l" ]
39
40 #设置卷
41 VOLUME ["/date" , "var/www"]
42

原文地址:https://www.cnblogs.com/duoban/p/12053161.html