1、常用命令
service docker start //启动docker service
docker images //显示所有images
docker ps //查询正在运行的docker命令 -a 参数,查看所有docker运行记录
docker commit docker容器名 需要保存的docker容器名 构建新的docker容器
docker inspect docker容器名 查看容器的相信信息
docker pull docker容器名 下载镜像:docker pull centos
docker rmi docker容器名 删除容器 OPTIONS说明:-f : 强制删除;–no-prune : 不移除该镜像的过程镜像,默认移除;
docker exec -it 容器id /bin/bash 进入容器
docker cp fileA 容器id:fileB 复制文件到容器中,从容器中复制到宿主机把路径反过来就行
docker exec 容器id linux命令 进入容器执行linux命令
2、run命令
docker run 镜像名 #运行镜像
run参数:
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-p: 端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h "mars": 指定容器的hostname;
-v:容器挂载,-v /my/webapp:/usr/local/tomcat/webapps,冒号前为当前宿主机目录,冒号后为容器目录。 --privileged=true 开放权限
-e username="ritchie": 设置环境变量;
--env-file=[]: 从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container:<name|id> 四种类型;
--link=[]: 添加链接到另一个容器;
--expose=[]: 开放一个端口或一组端口;
3、停止运行
$ docker ps // 查看所有正在运行容器
$ docker stop containerId // containerId 是容器的ID
$ docker ps -a // 查看所有容器
$ docker ps -a -q // 查看所有容器ID
$ docker stop $(docker ps -a -q) // stop停止所有容器
$ docker rm $(docker ps -a -q) // remove删除所有容器docker stop 容器ID或容器名 参数 -t:关闭容器的限时,如果超时未能关闭则用kill强制关闭,默认值10s,这个时间用于容器的自己保存状态 docker stop -t=60 容器ID或容器名docker kill 容器ID或容器名 :直接关闭容器
4、启动docker
docker start 还有两个参数
-i:以 交互模式启动 交互模式不懂点我
-t:以 附加进程方式启动 附加进程不懂的点我
docker restart 容器ID或容器名 :不管容器是否启动,直接重启容器
1. 首先 docker ps 查看正在运行的容器信息,显示2分钟前启动运行
2. docker restart 59ec 重启容器
3. 再次 docker ps 查看容器信息 显示 2秒前启动运行
5、查看容器日志
实时查看docker容器日志
$ sudo docker logs -f -t --tail 行数 容器名
例:实时查看docker容器名为s12的最后10行日志
$ sudo docker logs -f -t --tail 10 s12
6、修改容器自启动状态
1、修改自启动状态:docker container update --restart=always 容器名称
2、查看容器重启次数:docker inspecdt {{ .RestartCount }} containerName
3、查看容器最后一次启动时间:docker inspect {{.State.StartedAt}} containerName
docker 支持的restart策略
+ no - 容器退出时不要自动重启,这个是默认值
+on-failure 在容器非正常退出时(退出状态非0),才会重启容器
+on-failure[:max-retries] 当容器非正常退出超过设定的次数才会重启
+always 不管退出状态码是什么,始终重启容器,当指定always时,docker daemon将无数次的重启容器,容器也会在daemon启动时尝试重启,不管容器的状态如何。
+nuless-stopped 在容器退出时,总是重启,但不考虑在docker守护进程启动之时,就已经停止了的容器