安装Docker
- which wget
- wget -qO- https://get.docker.com/ | sh
- start docker(默认docker daemon不启动)
- docker info,docker -v(检查docker本地安装配置信息)
基本命令
新建容器:docker run –name 容器名称 -d 镜像名称
-d:后台运行,守护式
-i -t:申请一个控制台同容器进行数据交互拉取镜像:docker pull 镜像名称:tag,不写tag时,默认latest;
启动/停止/删除容器:docker start/stop/rm 容器ID/容器名称;1.6.2以后可以通过-f删除运行中的容器
把启动参数重新附着到运行中的容器上:docker attach 容器ID/容器名称
容器日志:docker logs 容器ID/容器名称 or 实时日志:docker logs -f 容器ID/容器名称
查询容器配置:docker inspect 容器ID/容器名称(也可以指定多个容器) 查看容器详细信息
*查询具体某个参数:docker 容器ID 格式化信息,
比如查询IP:docker inspect –format ‘{{ .NetworkSettings.IPAddress }}’*查看容器内进程:docker top 容器ID/容器名称
显示一个或多个容器的CPU、内存等统计信息:docker stats
容器内部运行后台进程docker exec -d 容器ID/容器名称 touch /etc/new_config_file
自动重启容器:–restart 标志会检查容器的退出代码,并据此来决定是否要重启容器。默认的行为是Docker不会重启容器。
on-failure:5:on-failure,只有当容器的退出代码为非0值的时候,才会自动重启。另外,on-failure“还接受一个可选的重启次数参数。通过–link建立容器连接,避免IP和端口暴露,同时避免变动导致的访问失效,原理类似DNS服务器的域名和地址映射。
通过-v是挂载命令映射宿主机目录,比如 docker -v 宿主机:容器目录
- 通过-p暴露端口,比如 docker -p 宿主机端口:容器内部端口
搭建镜像私服registry
- docker pull registry:2.1.1
- docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 –restart=always –name registry registry:2.1.1
利用Dockerfile构建镜像
- 编写Dockerfile,具体dockerfile的格式自行百度。
- 构建:docker build -t 127.0.0.1:5000/镜像名:版本 .
- 推送到私服:docker push 127.0.0.1:5000/镜像名:版本
其他命令
docker commit:当容器中的文件产生变化后,可以提交生成一个新的image,这可以让你debug出你所做的修改,导出发布到其他服务器,这似乎是一种比Dockerfile更好的管理方式。
例如:docker commit c3f279d17e0a 127.0.0.1 :5000/thisimage:newversiondocker save:固化一个容器成镜像