Docker学习笔记

基本操作

docker for mac

https://docs.docker.com/docker-for-mac/
HyperKit VM

helloworld

docker --version
docker-compose --version
docker-machine --version
docker ps
docker run hello-world
docker run -d -p 80:80 --name webserver nginx
docker run -it ubuntu bash
docker run docker/whalesay cowsay boo
docker run docker/whalesay cowsay boo-boo

build image

vi Dockerfile
FROM docker/whalesay:latest
RUN apt-get -y update && apt-get install -y fortunes
CMD /usr/games/fortune -a | cowsay

docker build -t docker-whale .
docker images
docker run docker-whale

tag & push

docker tag 038cc8845778 bluexiii/docker-whale:latest
docker login
docker push maryatdocker/docker-whale
docker rmi -f docker-whale
docker run bluexiii/docker-whale

容器命名

docker run --name bob_the_container -i -t ubuntu /bin/bash

重新启动已停止的容器

docker start bob_the_container

附着到容器上

docker attach bob_the_container

创建守护式容器

docker run --name daemon_dave -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1;done"

查看日志

docker logs -ft daemon_dave

查看容器中的进程

docker top daemon_dave

查看统计信息

docker stats daemon_dave

停止守护式容器

docker stop daemon_dave

自动重启容器

--restart=always
--restart=on-failure:5
docker run --restart=always --name daemon_dave2 -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1;done"

获取容器详情

docker inspect daemon_dave2

删除容器

docker rm

删除所有容器

docker rm docker ps -a -q

本地镜像位置

$HOME/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2

拉取镜像到本机

docker pull fedora

查找镜像

docker search fedora

构建镜像

使用commit构建镜像

基于Ubuntu构建

docker run -i -t ubuntu /bin/bash

内网环境下设置apt代理

cat > /etc/apt/apt.conf.d/10proxy
Acquire::http::Proxy "http://134.32.32.13:31315/";
^d

安装基础包

apt update
apt install nginx

commit提交

docker commit cb051b49a4cd bluexiii/mynginx
or
docker commit -m 'message' -a 'author' cb051b49a4cd bluexiii/mynginx:tag
类似git,只提交差异部分,速度很快

docker inspect bluexiii/mynginx

使用Dockfile构建镜像

vi Dockerfile
FROM ubuntu
RUN echo 'Acquire::http::Proxy "http://IP:PORT/";' > /etc/apt/apt.conf.d/10proxy
RUN apt-get -y update && apt-get install -y nginx
RUN echo 'hello world' > /usr/share/nginx/html/index.html
EXPOSE 80
docker build -t bluexiii/mynginx2 .

运行镜像

docker run -d -p 40080:80 --name mynginx2 bluexiii/mynginx2 nginx -g "daemon off;"

查看端口映射情况

docker port mynginx2 80

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 10,555评论 0 120
  • 简介 容器与管理程序虚拟化有所不同,管理程序虚拟化通过中间层将一台或多台独立的机器虚拟运行于物理硬件之上,而容器则...
    Gundy_阅读 372评论 0 4
  • 这世上最幸福的莫过于做自己想做的事 和 有人把你放在心里 济南秋红了
    追梦的佩璇阅读 297评论 0 0
  • 年要结束了,新一年正式开始,2016给自己设定很多目标,工作上、学习上、家庭上,可以说希望自己方方面面都有改变都有...
    时代之尘阅读 204评论 0 0
  • 1 旧时代,勤劳聪慧的女人打理生活往往是在不动金融的前提下操作的,尤其是在乡下,这要是在当下男人是很惊喜的。 秋日...
    西门豹阅读 593评论 6 3