Docker笔记

参考文档
① Docker的安装和镜像创建
② Docker的save和export命令的区别
③ 如何在 Fedora 22 上面配置 Apache 的 Docker 容器

一、一个故事
很久以前,有个小小的程序员维护着一台小小的服务器。这个小小的服务器里面运行着一个小小的程序。这个小小的程序有依赖其他很多小小的程序。每当夜幕降临,小小的程序员都担心别人把服务器别人把小小的服务器或者小小的程序依赖的其他小小程序改动了,他那个小小的程序便无法运行了。小小的程序员难以成眠。每次转移、升级,小小的程序员小小的心脏都要蹦出来。

终于,有一天小小的程序员倒下了,灵魂飘忽到一座小小的岛上。小小的岛上住着一个大大的大牛。大大的大牛听说了小小的程序员小小的故事,十分悲伤。大大的大牛开发了docker,并在小小的岛上发着小小的心愿,愿天下程序员不再有悲伤,难过。

二、Docker安装
内核要求3.8+,推荐ubuntu 14.04+。

  • ubuntu环境
sudo apt-get install docker docker.io
  • fedora环境
sudo dnf install docker
  • 权限配置
    默认docker是需要root权限运行。对于笔者来说,每次都要输入sudo和用户密码,这是不可以接受的。将用户附加到组docker即可拥有运行权限。添加命令如下:
sudo usermod -a -G docker zhouyixing

三、Docker镜像

  • pull方式
sudo docker pull ubuntu:14.04
cat ubuntu-14.04-x86-minimal.tar.gz | sudo docker import - ubuntu:14.04
  • build方式

Dockerfile模板

FROM scratch
# https://partner-images.canonical.com/core/
ADD ubuntu-trusty-core-cloudimg-amd64-root.tar.gz /

# a few minor docker-specific tweaks
# see https://github.com/docker/docker/blob/master/contrib/mkimage/debootstrap
RUN echo '#!/bin/sh' > /usr/sbin/policy-rc.d \
    && echo 'exit 101' >> /usr/sbin/policy-rc.d \
    && chmod +x /usr/sbin/policy-rc.d \
    \
    && dpkg-divert --local --rename --add /sbin/initctl \
    && cp -a /usr/sbin/policy-rc.d /sbin/initctl \
    && sed -i 's/^exit.*/exit 0/' /sbin/initctl \
    \
    && echo 'force-unsafe-io' > /etc/dpkg/dpkg.cfg.d/docker-apt-speedup \
    \
    && echo 'DPkg::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };' > /etc/apt/apt.conf.d/docker-clean \
    && echo 'APT::Update::Post-Invoke { "rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true"; };' >> /etc/apt/apt.conf.d/docker-clean \
    && echo 'Dir::Cache::pkgcache ""; Dir::Cache::srcpkgcache "";' >> /etc/apt/apt.conf.d/docker-clean \
    \
    && echo 'Acquire::Languages "none";' > /etc/apt/apt.conf.d/docker-no-languages \
    \
    && echo 'Acquire::GzipIndexes "true"; Acquire::CompressionTypes::Order:: "gz";' > /etc/apt/apt.conf.d/docker-gzip-indexes

# enable the universe
RUN sed -i 's/^#\s*\(deb.*universe\)$/\1/g' /etc/apt/sources.list

# overwrite this with 'CMD []' in a dependent Dockerfile
CMD ["/bin/bash"]

build命令

sudo docker build -f Dockerfile -t desay:14.04.3

成果检查

zhouyixing@vmach ~ % sudo docker images                                                                                                       15-12-28 11:08
[sudo] zhouyixing 的密码:
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
opm                 14.04               0e30db633767        About an hour ago   520.9 MB
docker.io/ubuntu    14.04               89d5d8e8bafb        2 weeks ago         187.9 MB

四、Docker运行

  • 普通方式
sudo docker run -i -t docker.io/ubuntu:14.04 /bin/bash

简单的运行镜像docker.io/ubuntu:14.04,并以bash方式进入命令行。

  • 端口映射
sudo docker run -it --rm -p 8080:80 -v ~/Workspace/OPM/opm:/root/opm opm:14.04 /bin/zsh

运行镜像opm:14.04,并将主机的8080映射到容器里面的80端口,将主机的~/Workspace/OPM/opm目录挂载到容器里面的/root/opm,并以zsh方式进入命令行。

  • 设备映射
sudo docker run -it --hostname=docker --user=desay --device=/dev/loop0:/dev/loop0 --cap-add SYS_ADMIN desay:14.04.3 /bin/zsh

或者

sudo docker run -it --rm=true --hostname=docker --user=desay --privileged=true --cap-add SYS_ADMIN -v ~/openwrt:/home/desay/openwrt -v ~/packages:/home/desay/openwrt/dl -w /home/desay/openwrt desay:14.04.3 /bin/bash

对于deepin 2015系统,需要手动创建loop节点。命令如下

sudo mknod /dev/loop0 b 7

更多运行方式可以docker --help以及docker run --help查询。

五、镜像提交

镜像运行的过程中,可以通过sudo docker ps -a命令确定CONTAINER ID。通过以下命令提交。

sudo docker commit <CONTAINER ID> > tag:commit

提交后可以通过sudo docker images会看到新提交的images

六、镜像保留

  • 导出模板
    通过sudo docker ps -a命令确定CONTAINER ID。通过以下命令导出。
sudo docker export <CONTAINER ID> > ~/export.tar.gz
  • 镜像保存
sudo docker save <REPOSITORY> > /home/save.tar

七、其他应用

  • tomcat

项目主页

# 安装
docker pull tomcat

# 运行
docker run -p 8080:8080 -v tomcat:latest

# 其他
# 对于笔者来说,笔者仅仅想要一个web server。
# ${WEB_APP_PATH}为web存放路径,首页命名为index.html(或者index.jsp)即可。
# 浏览器登陆http://localhost:8080/可验证
docker run -p 8080:8080 -v ${WEB-APP}:/usr/local/tomcat/webapps/ROOT tomcat:latest
  • gogs

项目主页

# 安装
docker pull gogs/gogs

# 建立gogs目录
sudo mkdir /gogs

# 运行
# 注意到/gogs的权限是root。对于笔者来说,git服务器需要开机即运行。所以笔者不会有权限问题。
# 将以下命令添加到/etc/profile文件即可。
# 10080为网页访问端口。10022为ssh clone端口。
docker run --rm=true -p 10022:22 -p 10080:3000 -v /gogs:/data gogs/gogs
### 回答1: 要下载Docker笔记,首先需要了解Docker是什么以及其使用场景。 Docker是一种开源的容器化平台,可以帮助用户打包、部署和运行应用程序。通过使用容器化技术,用户无需担心运行环境的差异,可以将应用程序和其依赖项打包到一个可移植的容器中,随时在不同的环境中运行。 要下载Docker笔记,可以按照以下几个步骤进行操作: 1. 首先,需要在计算机上安装Docker。可以从Docker官方网站(https://www.docker.com/)上下载适合自己操作系统的Docker安装包,并按照安装指南进行安装。 2. 安装完成后,需要启动Docker服务。根据操作系统的不同,可以在启动菜单或终端中找到Docker应用程序,并点击打开。在Docker控制台中,可以查看、管理容器以及进行其他操作。 3. 接下来,需要搜索并下载Docker笔记的镜像。可以使用Docker Hub(https://hub.docker.com/)这个官方的镜像仓库,搜索关键词以找到合适的笔记镜像。在搜索结果中,会显示镜像的名称、描述、标签等信息,选择一个合适的镜像。 4. 找到想要下载的笔记镜像后,可以使用Docker命令行工具或Docker控制台中的图形界面来下载镜像。通过输入命令`docker pull 镜像名称:标签`,即可下载对应的笔记镜像到本地。 5. 下载完成后,可以使用`docker images`命令在本地查看已下载的镜像列表。根据下载的笔记镜像的名称和标签,可以使用`docker run`命令来创建并启动一个容器,从而运行笔记。 通过以上步骤,就可以成功下载Docker笔记并在本地运行。希望这些信息对您有帮助! ### 回答2: 要下载Docker笔记,首先需要知道从哪里获取这些笔记Docker有一个官方文档网站,其中包含了大量关于Docker的技术文档、教程和示例以及各种使用场景的说明。用户可以访问Docker官方网站,在文档部分进行浏览和搜索,找到所需的笔记。 在Docker官方文档网站上,用户可以按照主题、标签或关键字进行检索,以找到相关的笔记。网站还提供了各种文件格式的下载选项,包括PDF、EPUB和HTML版本,用户可以根据自己的使用习惯选择适合的格式进行下载。 此外,还有一些第三方资源库和网站提供了Docker相关的笔记下载。例如GitHub上有很多开源项目,其中包含了Docker的使用笔记和示例代码。用户可以通过在GitHub上搜索关键字"Docker笔记"或"Docker notes"来找到相关的项目,然后根据项目的说明进行下载。 总之,下载Docker笔记可以通过Docker官方文档网站或第三方资源库进行。用户可以根据自己的需求和偏好选择下载适合自己的格式和来源。 ### 回答3: 要下载 Docker 笔记,首先需要确保已经安装了 Docker 客户端工具。然后按照以下步骤进行下载: 1. 打开终端或命令提示符,输入以下命令来下载 Docker 笔记Docker 镜像: ``` docker pull [镜像名称] ``` 这里的 `[镜像名称]` 是 Docker Hub 上提供的 Docker 镜像名称,可以根据需要搜索并选择合适的镜像。 2. 等待镜像下载完成后,使用以下命令来创建和运行一个 Docker 容器,并将笔记下载到本地: ``` docker run -it --name [容器名称] [镜像名称] [下载命令] ``` 这里的 `[容器名称]` 是用于标识容器的名称,`[下载命令]` 是具体的下载命令,可以根据下载方式的不同进行相应的设置。 3. 等待下载完成后,可以使用以下命令来停止并删除容器: ``` docker stop [容器名称] docker rm [容器名称] ``` 这里的 `[容器名称]` 是之前创建容器时指定的名称。 通过以上步骤,你就可以成功下载 Docker 笔记到本地了。记得根据实际需求选择适合的 Docker 镜像和下载命令,同时也可以通过 Docker Hub 上的文档和社区提供的资源,了解更多有关 Docker 的使用方法和技巧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值