docker命令


启动交互环境

docker run -i -t ubuntu:18.10 /bin/bash

下载镜像

docker pull 镜像名

查找镜像

docker search 镜像名

创建镜像

Dockerfile https://yeasy.gitbooks.io/docker_practice/image/build.html

docker build

以进程方式运行docker

docker run -d ubuntu:18.10 /bin/sh -c "while true; do echo hello world; sleep 1; done" 输出 919bd55583f6293b6c53f471ca7c2f41eded7532c192cb86bdb11cf907452714 这个长字符串叫做容器ID,对每个容器来说都是唯一的,我们可以通过容器ID来查看对应的容器发生了什么。 首先,我们需要确认容器有在运行,可以通过 docker ps 来查看

查看正在运行的 docker

docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 919bd55583f6 ubuntu:18.10 "/bin/sh -c 'while t…" 3 minutes ago Up 3 minutes crazy_almeida

查看docker 运行的日志

docker logs 919bd55583f6 ... hello word! ... docker logs crazy_almeida -f: 让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出。

停止 docker

docker stop amazing_cori

我们将在docker容器中运行一个 Python Flask 应用来运行一个web应用。

runoob@runoob:~# docker pull training/webapp # 载入镜像 runoob@runoob:~# docker run -d -P training/webapp python app.py

查看 运行中的docker端口号

docker port 进程号 docker port 名字

查询最后一次创建的容器:

docker ps -l

开启一个已经创建的docker

docker start 名字/进程号

使用 docker inspect 来查看 Docker 的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。

runoob@runoob:~$ docker inspect wizardly_chandrasekhar [ { "Id": "bf08b7f2cd897b5964943134aa6d373e355c286db9b9885b1f60b6e8f82b2b85", "Created": "2018-09-17T01:41:26.174228707Z", "Path": "python", "Args": [ "app.py" ], "State": { "Status": "running", "Running": true, "Paused": false, "Restarting": false, "OOMKilled": false, "Dead": false, "Pid": 23245, "ExitCode": 0, "Error": "", "StartedAt": "2018-09-17T01:41:26.494185806Z", "FinishedAt": "0001-01-01T00:00:00Z" }, ......

列出本机的所有的镜像

docker images

docker 副本

docker commit -m="has update" -a="runoob" 容器id xiaxichen/ubuntu:v2

docker inspect : 获取容器/镜像的元数据。

docker inspect [OPTIONS] NAME|ID [NAME|ID...] OPTIONS说明: -f :指定返回值的模板文件。 -s :显示总的文件大小。 --type :为指定类型返回JSON。

获取正在运行的容器mymysql的 IP。 runoob@runoob:~$ docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mymysql 172.17.0.3

查看容器ip

docker inspect redis | grep IPAddress

docker commit -m 'captcha' -a 'xiaxichen' -p [容器id] [repository] docker commit -m 'captcha' -a 'xiaxichen' 6354518dadf4 captcha_ckn

commit 提交第一次

docker run -d -p 19952:19952 captcha_ckn /bin/sh -c "/home/captcha/captcha_platform_tornado"

commit 提交第二次

docker run -d -p 19952:19952 captcha_ckn1

sudo docker run -itd ubuntu:14.04 /bin/bash
比如这里,我们将java8的镜像保存为文件 docker save -o java8.tar lwieske/java-8 完成后通过 ls 命令即可看到文件

从文件载入镜像可以使用Docker load命令。 docker load --input 文件 docker load < 文件名

进入docker sudo docker attach