-
《【docker入门】10分钟,快速学会docker》 - https://www.bilibili.com/video/av58402749?spm_id_from=333.788.b_636f6d6d656e74.8
-
《【docker入门2】实战~如何组织一个多容器项目docker-compose》 - https://www.bilibili.com/video/av61131351?from=search&seid=14332760623178684588
-
play with docker - https://labs.play-with-docker.com/
-
《『中级篇』play with docker 的使用(44)》 - https://www.jianshu.com/p/38649ff222ac
1 基本指令
https://www.processon.com/view/link/5d836beae4b021bb66447353
倒计时, 默认用 4小时
# docker run -d -p 80:80 nginx
开启服务
-d
后台运行
-p 80:80
端口映射 宿主端口:docker端口
# docker exec -it 0915862262a94b78ff26d27eae5c3650ca6e4c5864b218894bea2adad37d7cb5
进入容器
or docker exec -it 091586226 bash
-i
即使没有附加也保持STDIN 打开 - 《什么是标准输入,标准输出(stdin,stdout)?》
(即保持可输入)
-t
分配一个伪终端
# docker rm -f 0915862262a94b7
删除容器
-f
force 强制删除
# docker commit 09 m1
提交容器,名字 m1
# Dockerfile
FROM nginx
ADD ./ /user/share/nginx/html/
基于 nginx
复制当前目录(./
)到 nginx 目录(/user/share/nginx/html/
)
# docker bulid -t m2 .
--tag, -t
: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
使用当前目录下 Dockerfile 创建镜像 , 标签为 m2
# docker save m2 > 1.tar
将容器(m2)保存到一个文件(1.tar)里
# docker rmi m2
删除镜像
# docker load < 1.tar
加载 文件(1.tar) 为镜像
2 组织一个多容器项目docker-compose
-
开启 docker 会“生成”一个 docker0 网卡
-
容器和docker0网卡处于同一网段
-
宿主机访问容器要通过网卡进行转发,路由过去
# docker run -dit alpine
alpine 最小的linux 系统 只有 5M 大小
-d 后台运行
-it 阻塞运行
# docker exec -it b49 sh
sh 工具 的形式 打开 alpine
# docker run -d -p8881:80 --name myng nginx
后台开启 nginx 别名 myng
docker端口号 80 映射到 宿主机 端口号 8881
# docker run -dit --link myng:myngnix alpine
后台阻塞开启 alpine
link 别名 myngnix 作为 myng服务的域名