启动交互环境
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='{}{}{}' 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
Q.E.D.