Docker日常使用

docker的常见命令

启动docker服务:systemctl start docker

重启docker服务:systemctl restart docker

停止docker服务:systemctl stop docker

镜像命令

拉取镜像:docker pull 镜像名

查看镜像:docker images

查找镜像:docker search httpd (查找一个适合本机环境的httpd镜像来服务本机的web服务)

删除镜像:docker rmi 镜像ID

容器命令:

必须有至少一个工作在前台的守护进程(否则拉取的容器会自动停止)
library官方镜像较为精简
public公用含有super sersver守护进程
创建运行容器:docker run [options] image [command] [arg…]
例如:docker run -it ubuntu /bin/bash
-i: 交互式操作。
-t: 终端。
ubuntu: ubuntu 镜像。
/bin/bash:放在镜像名后的是命令,这里交互式 Shell,因此用的是 /bin/bash。
要退出终端,直接输入 exit:
-v 挂载
-p 指定端口映射
-e 设置环境变量
-d 后台运行容器,返回容器ID
查看容器:docker ps [options] 例如:查看所有容器 docker ps -a
删除全部容器:嵌套语法 rm -f $(docker ps -a -q)
后台运行
在大部分的场景下,我们希望 docker 的服务是在后台运行的,我们可以过 -d 指定容器的运行模式。
$ docker run -itd --name ubuntu-test ubuntu /bin/bash

进入容器

在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:

docker attach : 退出容器后会导致容器停止

docker exec:推荐大家使用 docker exec 命令,因为此命令会退出容器终端,但不会导致容器的停止。

打开进入容器:docker exec [options] container command [arg…]例如:docker exec -it 容器id /bin/bash

导出容器:docker export 容器id > ubuntu.tar

导入容器快照:以下实例将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1:

cat docker/ubuntu.tar | docker import - test/ubuntu:v1
通过指定 URL 或者某个目录来导入,例如:docker import http://example.com/exampleimage.tgz example/imagerepo

实例

1、创建带有应用的容器
创建了一个 python 应用的容器。
docker run -d -P training/webapp python app.py
-P :是容器内部端口随机映射到主机的端口。
-p : 是容器内部端口绑定到指定的主机端口。
docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py
默认都是绑定 tcp 端口,如果要绑定 UDP 端口,可以在端口后面加上 /udp。

docker run -d -p 127.0.0.1:5001:5000/udp training/webapp python app.py
–name 标识来命名容器
docker port 命令可以让我们快捷地查看端口的绑定情况。
docker logs [ID或者名字] 可以查看容器内部的标准输出。
docker top 来查看容器内部运行的进程。
docker inspect 来查看 Docker 的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。
在这里插入图片描述

容器保存为镜像:docker commit 容器ID 镜像名称:TAG信息

镜像文件保存:docker save -o 文件名.tar 镜像名称:TAG信息

镜像文件导入:docker load -o 文件名.tar

docker ps -l 查询最后一次创建的容器

删除容器:docker rm 容器ID

清理掉所有处于终止状态的容器。

$ docker container prune
2、Docker容器互联
一、新建网络
下面先创建一个新的 Docker 网络。

$ docker network create -d bridge test-net
查看新建立的Docker网络test-net
docker network ls
在这里插入图片描述

二、创建两个新的容器命名为test1,test2,并连接到新创建的Docker网络net-test上

docker run -itd --name test1 --network test-net ubuntu /bin/bash
docker run -itd --name test2 --network test-net ubuntu /bin/bash
三、通过ping命令证明两个容器之间存在连接
进入容器docker exec -it test1 /bin/bash
更新源apt-get update 下载ping命令 apt install iputils-ping
利用test2容器ping test1容器看是否可以连接
在这里插入图片描述

实验成功,两个容器可以进行连接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值