Docker(三)操作

Docker操作

systemctl start docker # 启动
systemctl stop docker # 停止
systemctl restart docker #重启
systemctl enable docker # 开机自启
systemctl disable docker # 关闭开机自启

查看 Docker 版本状态:

docker -v
docker version

查看docker运行状态:

docker info

Docker镜像

docker search <image name> # 搜索镜像(只能用于官方镜像库) 例:docker search nginx
docker pull <image name> # 拉取镜像 例:docker pull ubuntu:14.04
docker images # 查看所有本地镜像 (-q 只查看镜像id)
docker image inspect <image id 或 image name> # 查看镜像详情

docker rmi <image id 或 image name> # 删除镜像
docker rmi $(docker images -q) # 删除所有镜像
docker rmi <image id 或 image name> -f # 强制删除镜像 -f,--force (Force removal of the image)
docker history <image id 或 image name> # 查看镜像制作的过程

Docker容器

创建、运行容器

# 创建容器时,若本地没有镜像,则自动去拉取镜像
docker create -it <image id 或 image name> /bin/bash # 创建新容器但不启动
docker run -it <image id 或 image name> /bin/bash # 创建新容器并启动
docker run -itd <image id 或 image name> /bin/bash # 创建后台运行容器 -d后台运行必须要加-it
docker run -itd --name=containername --restart=always <image id 或 image name> /bin/bash # --name=XXX 给容器命名; --restart=always 容器随着docker的启动而启动

删除容器

docker rm <container id 或 container name>
docker rm $(docker ps -qf status=exited) # 删除所有停止的容器 -f:过滤

查看容器

docker ps # 只查看运行状态的容器
docker ps -a # 查看所有容器
docker ps -aq # 只查看所有容器id

docker inspect <container id 或 container name> # 查看容器详细

启动,停止容器

docker start <container id 或 container name> # 启动容器
docker restart <container id 或 container name> # 重新启动容器
docker stop name <container id 或 container name> # 停止容器
docker kill name <container id 或 container name> # 强制停止容器
docker stop $(docker ps -q) # 停止所有容器

暂停及恢复暂停的容器

docker pause <container id 或 container name> # 暂停容器
docker unpause <container id 或 container name> # 恢复暂停的容器

进入容器

# 方法一:
docker attach <container id 或 container name>  # 连接容器 前提是容器在运行状态中
# 方法二:
docker exec -it <container id 或 container name> /bin/bash # 交互型任务
docker exec <container id 或 container name> touch /testfile # 后台型任务

退出容器

# 若要断开与容器的连接,并且关闭容器:容器内部执行如下命令
exit
# 如果只想断开和容器的连接而不关闭容器
使用快捷键:ctrl+p+q

重命名容器

docker rename oldname newname

查看资源消耗情况

docker stats
# 当有容器在运行的时候动态显示容器的资源消耗情况,包括:CPU、内存、网络I/O

查看容器的运行日志

docker logs -f <container id 或 container name> # -f选项可以跟踪日志的输出,直到手动停止。
docker logs --tail -2 <container id 或 container name> # --tail选项可以指定查看最后几条日志

查看容器进程信息

docker top <container id 或 container name>

捕捉容器停止时的退出码

docker wait <container id 或 container name>

docker run 之后容器退出的状态码:
	0,表示正常退出
	非0,表示异常退出(退出状态码采用chroot标准)
	125,Docker守护进程本身的错误
	126,容器启动后,要执行的默认命令无法调用
	127,容器启动后,要执行的默认命令不存在

容器中文件的复制

docker cp <container id 或 container name>:/path/file /path
容器与容器、主机与容器间的文件复制

Docker容器镜像制作

container —> tar包 —> image

# 打包
docker export -o XXX.tar <container id 或 container name> # -o --output
或者
docker export <container id 或 container name> > XXX.tar

# 恢复
docker import XXX.tar imagename:tag

container —> image

docker commit <container id 或 container name> imagename:tag
或者
docker commit -m "describe" -a "author" -p <container id 或 container name> imagename:tag
	-m                         添加注释
	-a                         作者
	-p,–pause=true            提交时暂停容器运行 

image —> tar包 —> image

docker save -o XXX.tar imagename:tag
docker load < XXX.tar

端口转发

-p 创建应用容器的时候,为了让外部能够访问这些容器里的应用,一般会做端口映射。可以用多个-p指定多个端口映射关系。
-P 当使用-P标记时,Docker 会随机映射一个 32768~49900 的端口到内部容器开放的网络端口。

docker run -it -p 主机端口:容器端口 <image id 或 image name> /bin/bash
例:
docker run -d --name web01 -p 81:80 daocloud.io/library/nginx

容器卷

把本地宿主机上面的某一个目录挂载到容器里面的目录去。这两个目录都不用提前存在,会自动创建。
可以使用多个-v进行挂载。

docker run -it -v 主机路径:容器路径 <image id 或 image name> /bin/bash
例:
docker run -it -v /data:/var/www/html nginx /bin/bash
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值