docker学习笔记
Docker Install
CentOS
curl -sSL https://get.daocloud.io/docker | sh
然后需要添加自启动项
systemctl enable docker
启动Docker, 重启Docker
systemctl start docker
systemctl restart docker
Windows10 家庭中文版
https://www.cnblogs.com/temari/p/13188168.html
此处按照该文章的方法进行。
Docker Hello World
1 | docker run ubuntu:15.10 /bin/echo "Hello world" |
各个参数解析:
- docker: Docker的二进制执行文件
- run: 运行一个命令
- ubuntu:15.10:指定要运行的镜像
- /bin/echo “Hello world”: 在启动的容器里执行的命令
以上命令完整的意思可以解释为:Docker 以 ubuntu15.10 镜像创建一个新容器,然后在容器里执行 bin/echo “Hello world”,然后输出结果。
运行交互式的实例
1 | docker run -i -t ubuntu:15.10 /bin/bash |
各个参数解析:
- -t: 在新容器中指定一个终端或者是一个伪终端
- -i:开启交互模式
输入exit退出实例
启动容器(后台模式)
创建
docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
使用-d 创建一个以后台模式运行的容器
标准格式:
docker run -itd --name ubuntu-test ubuntu /bin/bash
并不会输出Hello World,反之会输出容器的实例ID
1 | [root@izuf6jf12ks7n33jyg1qplz ~]# docker run -d ubuntu:15.10 |
查看后台运行中的实例
使用docker ps
1 | [root@izuf6jf12ks7n33jyg1qplz ~]# docker ps |
输出详情介绍:
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。
其中,状态有7种:
- created(已创建)
- restarting(重启中)
- running 或 Up(运行中)
- removing(迁移中)
- paused(暂停)
- exited(停止)
- dead(死亡)
PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
NAMES: 自动分配的容器名称。
查看容器内的标准输出
docker logs
1 | docker logs sharp_hertz |
其中, sharp_hertz为容器的别名,
可以使用docker rename
来重命名
使用docker stop []
来停止容器
1 | [root@izuf6jf12ks7n33jyg1qplz ~]# docker stop test |
停止的容器可以通过docker restart []
来重启
1 | # docker stop test |
可以使用docker ps -a
查看所有实例,包括已暂停的实例
使用 docker container prune
清理所有终止的容器
进入容器
在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:
- docker attach
- docker exec:推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。
更多参数说明可使用 docker exec --help 命令查看。
导入和导出容器
导出容器
如果要导出本地某个容器,可以使用 docker export 命令。
1 | [root@izuf6jf12ks7n33jyg1qplz ~]# docker export test > ubuntu_test.tar |
导入容器
1 | [root@izuf6jf12ks7n33jyg1qplz ~]# docker import ubuntu_test.tar test/ubuntu |
查看导入的镜像:
1 | [root@izuf6jf12ks7n33jyg1qplz ~] |
运行镜像:
1 | [root@izuf6jf12ks7n33jyg1qplz ~]# docker run -itd --image_test 30f34256cb24555a2a49811f8c43fc1de5358ae70afa00c0eac894237818a74b /bin/bash |