docker 启动重启关闭等命令
开机自启
systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
启动
systemctl start docker
守护进程重启
sudo systemctl daemon-reload
重启docker服务
systemctl restart docker
service docker restart
关闭docker
systemctl stop docker
service docker stop
docker帮助命令
docker version
docker info
docker --help
docker 镜像命令
docker images
列出本地主机上的镜像
各个选项说明:
REPOSITORY:表示镜像的仓库源;
TAG:镜像的标签
IMAGE ID:镜像id
CREATED:镜像创建时间
SIZE:镜像大小
同一个仓库源可以有多个TAG,代表这个仓库源的不同版本,我们使用REPOSITORY:TAG来定义不同的镜像,如果不指定一个镜像的版本标签,例如只使用ubuntn,docker 将默认使用ubuntu:latest镜像。
OPTIONS说明:
-a:列出本地所有的镜像(含中间映像层)
-q:只显示镜像id
–digests:显示镜像的摘要信息
–no-trunc:显示完整的镜像信息
docker search 某个xx镜像名字
网站: https://hub.docker.com
命令:docker search [options] 镜像名字
options说明:
–no–trunc:显示完整的镜像描述
-s:列出收藏数不小于指定数的镜像
–automated:只列表automated build类型的镜像
如 : docker search -s 30 tomcat
docker pull 某个XX镜像名字 下载镜像
docker pull 镜像名字[:TAG]
docker rmi 某个xx镜像名字id 删除镜像
删除单个 docker rmi -f 镜像id
删除多个 docker rmi -f 镜像名1[:TAG] 镜像名[2:TAG]
删除全部 docker rmi -f $(docker images -qa)
删除虚悬镜像
docker image prune
镜像导入导出
1.save load
1.1 save导出
docker save -o redis.tar redis:latest
或者
docker save > redis.tar redis:latest
其中-o和>表示输出到文件,redis.tar为目标文件,redis.latest是源镜像名(name:tag)
1.2 load导入
docker load -i redis.tar
或者
docker load < redis.tar
其中-i和<表示从文件输入,会成功导入镜像及相关元数据,包括tag信息
2.export import
2.1 export导出
docker export -o redis-test.tar redis
其中-o表示输出到文件,redis-test.tar为目标文件,redis是源镜像名(name)
2.2 import导入
docker import redis-test.tar redis:import
容器命令
有镜像才能创建容器,这是根本前题
新建并启动容器
docker run -it --name 别名 镜像名字
docker run -it 镜像id或者name 如果不指定名字 会随机产生一个名字
列出正在运行的容器
docker ps
-a 列出正在运行+历史上运行过的
-l最新创建的容器
-n最近启动的
退出容器两种方法
exit容器停止退出
ctrl+P+Q容器不停止退出
启动容器
docker start 容器id或者容器名
重启容器
docker restart 容器id或容器名
停止容器
docker stop 容器id或容器名
强制停止容器
docker kill 容器id或容器名 相当于拨电源
删除容器
docker rm 容器id或容器名 已停止的
docker rm -f 容器id或容器名 强制删除容器
一次性删除多个容器
docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm
清理所有处于终止状态的容器
docker container prune
启动守护式容器
docker run -d 容器名
docker run -d centos /bin/sh -c ‘while true;do echo hello zzyy; sleep 3;done’
查看容器日志
docker logs -f -t --tail 3(3是最后的3条) 容器id
-t 是加入时间戳
-f 跟随最新的日志打印
–tail 数字 显示最后多少条
查看容器内运行的进程
docker top 容器id
查看容器内部细节
docker inspect 容器id
进入正在运行的容器并以命令行交互
docker exec -it 容器id bash
重新进入docker attach 容器id
上述两个区别:
attach 直接进入容器启动命令的终端,不会启动新的进程 需要的信息 需要进入容器获取
exec 是在容器中打开新的终端,并且可以启动新的进程 可以在宿主机直接获取
[root@atgu 桌面]# docker exec -it 容器id ls -l /temp
从容器内拷贝文件到主机上
docker cp 容器id:容器内路径 目的主机路径
将docker tmp中的yum.log 拷贝到主机的root中
docker cp ad23dje4r52w:/tmp/yum.log /root
修改docker重启之后容器也重启
docker update 容器名 --restart=always
显示所有运行容器的完整运行命令
docker ps --no-trunc