- 博客(30)
- 资源 (2)
- 收藏
- 关注
原创 030-通过Docker链接连接容器
Docker链接使用–link来创建链接,这个选项要两个参数,如--link redis:db,表示要连接到redis容器,并给这个容器起了个别名为db容器链接只能工作与同一宿主机中可指定多个–link来连接多个容器演示# 启动一个redis容器sudo docker run -d --name redis redis# 连接到redis容器sudo docker run -p 4567
2017-05-13 13:19:02
534
原创 029-Dcoker Networking(推荐的方式)
Docker NetworkingDocker Networking 允许用户创建自己的网络,容器可以通过这个网络互相连接使用 Docker Networking 可完成容器的跨主机通信相关命令# 创建docker网络:创建一个新的桥接网络,命名为app,这个命令会返回新创建的网络的网络IDsudo docker network create app# 查看新创建的网络sudo docke
2017-05-13 13:18:33
441
原创 028-docker的内部网络
docker0在安装docker时,会创建一个新的网络接口,名字是docker0,每个docker容器都会在这个接口上分配一个IP地址。docker0本身的地址是172.17.42.1,这个地址也是所有容器的网关地址接口docker0是一个虚拟的以太网桥,用于连接容器与本地宿主网络可在宿主机执行ifconfig查看docker0的信息vethdocker每创建一个容器,就会创建一组互联的
2017-05-13 13:17:58
495
原创 027-在CentOS中安装Redis
安装redissudo yum install -y epel-releasesudo yum install -y redis连接到redisredis-cli -h 127.0.0.1 -p 6379
2017-05-13 13:17:07
782
原创 026-第一本Docker书(修订版)第106页的Dockerfile构建出错
原因:RUBY版本不满足要求解决:编译安装指定版本的ruby可用的Dockerfile,这里安装了ruby-2.4.0FROM ubuntu:14.04MAINTAINER JamturENV REFRESHED_AT 2017-05-09RUN rm -rf /var/lib/apt/lists/*RUN sudo apt-get -y updateRUN sudo apt-get in
2017-05-13 13:16:28
578
原创 025-启动 docker 容器时,使用 -v 选项来挂载卷
# 把当前目录下的website目录挂载到容器中的 /var/www/html/website 目录,该目录如果不存在,则会自动创建sudo docker run -d -p 80 --name website -v $PWD/website:/var/www/html/website jamtur01/nginx # 限制容器对挂载卷的读写权限,ro 表示 read only,rw 表示同时具有
2017-05-13 13:16:05
2208
原创 024-构建私有的 Docker Registry
01 安装 Registry# 运行基于容器的Registry,下面的命令将启动一个运行 Registry 2.0 的容器sudo docker run -p 5000:5000 registry:202 测试新Registry# 找到镜像IDsudo docker images jamtur01/static_web# 使用新的 Registry 给该镜像打上标签,为了指定Registry的地
2017-05-13 13:15:41
410
原创 023-删除Docker镜像
删除本地镜像# 删除单个镜像sudo docker rmi jamtur01/static_web# 同时删除多个镜像sudo docker rmi jamtur01/static_web jamtur01/apache2# 删除所有镜像sudo docker rmi `docker images -a -q`删除 Docker Hub 上的镜像登录 Docker Hub -> 选择镜像 ->
2017-05-13 13:15:17
304
原创 022-利用 Docker Hub 与 GitHub 来完成镜像的自动构建
00 什么是自动构建?将 GitHub 中含有 Dockerfile文件的仓库连接到 Docker Hub,当向代码仓库推送代码时,将会触发一次镜像构建活动并创建一个新镜像。01 将 GitHub 账号连接到 Docker Hub打开 Docker Hub -> 登录 -> 点击Create -> 选择 Create Automated Build -> Linked Accounts -> Lin
2017-05-13 13:14:40
1098
原创 021-将镜像推送到 Docker Hub
# jamtur01是用户仓库,static_web是镜像名sudo docker push jamtur01/static_web
2017-05-13 13:14:02
362
原创 020-Dockerfile指令(3)
01 ARG# 作用:定义变量,然后在 docker build 中使用 --build-arg 选项来给变量传值# 定义变量,可指定默认值ARG buildARG webapp_user=user# 在 docker build 中传值,webapp_user 将使用其默认值sudo docker build --build-arg build=1234 -t jamtur01/webapp
2017-05-12 21:28:45
296
原创 019-Dockerfile指令(2)
01 USER# 作用:指定基于该镜像启动的容器,会以哪个用户的身份来运行# 多种指定方式USER user # 用户名USER user:group # 用户名:用户组USER uid # 用户idUSER uid:gid # 用户id与组idUSER user:gid # 用户名与组idUSER uid:group # 用户id与组名# 扩展:可以使用 -u 选
2017-05-12 21:28:18
227
原创 018-Dockerfile指令(1)
01 CMD# CMD:容器启动时要运行的命令# sudo docker run -it jamtur01/static_web /bin/bash 就等价于CMD ["/bin/bash"]# 也可以传递参数CMD ["/bin/bash", "-l"]# 注意事项:## 建议将要运行的命令存放在数组结构中## docker run 中指定容器要执行的指令会覆盖 CMD 指令## 在D
2017-05-12 21:27:41
274
原创 016-docker容器与宿主机的端口映射
从之前构建的镜像启动一个容器# -p 80:docker容器公开给宿主机的网络端口,此时Docker可以在宿主机上随机选择一个位于32768~61000之间的端口号来映射到容器的80端口上# nginx -g "daemon off;":指定容器中需要执行的指令,这条指令的含义是以前台运行的方式启动nginxsudo docker run -d -p 80 --name static_web j
2017-05-12 17:10:30
8909
原创 015-使用 docker history 查看镜像的构建过程
# 查看指定镜像sudo docker images jamtur01/static_web# 查看镜像是如何构建的sudo docker history jamtur01/static_web
2017-05-12 16:37:57
9921
原创 014-Dockerfile的构建缓存
什么是构建缓存?由于每一步的构建过程都会将结果提交为镜像,所以Docker的构建过程就显得非常聪明,它会将之前构建的镜像层看作缓存。不想使用构建缓存怎么办?# 使用--no-cache选项来略过构建缓存sudo docker build --no-cache -t="jamtur01/static_web" .
2017-05-12 16:37:25
388
原创 013-Dockerfile构建失败时怎么办
由于构建过程中会产生许多中间镜像,所以,我们可以基于最后一个成功的镜像运行一个容器,然后在该容器中调试下一步的构建指令,找出到底哪里出错了。一旦解决了问题,就可以退出容器,然后修改Dockerfile,尝试重新构建。
2017-05-12 16:36:57
1816
原创 012-docker的构建上下文
构建上下文Dockerfile 所在的目录就是构建上下文(build context),构建镜像时,Docker会将构建上下文和该上下文中的文件、目录上传到Docker守护进程,这样Docker守护进程就可以直接访问用户想在镜像中存储的任何代码、文件或者其他数据。如果在构建上下文的根目录下存在以.dockerignore命名的文件的话,那么该文件会按行进行分割,每一行都是一条文件过滤匹配模式。这非常
2017-05-12 16:36:32
1532
原创 011-从Git仓库构建Docker镜像
# docker-static_web 目录下需要存在 Dockerfilesudo docker build -t="jamtur01/static_web:v1" git@github.com:jamtur01/docker-static_web
2017-05-12 16:36:00
1570
原创 010-exec格式的RUN命令
为什么要有exec格式的RUN命令 默认情况下,RUN指令会在shell里使用命令包装器 /bin/bash -c 来执行。如果是在一个不支持shell的平台上运行或者不希望在shell中运行,也可以使用exec格式的RUN命令。exampleRUN ["apt-get", "install", "-y", "nginx"]
2017-05-12 15:48:04
1076
原创 009-第一个Dockfile
准备工作# 创建一个目录mkdir ~/static_web# 进入目录cd ~/static_web# 创建Dockfiletocch Dockfile编写Dockfile# Version: 0.0.1FROM ubuntu:14.04MAINTAINER JAMES "JAMES@sina.com"RUN rm -rf /var/lib/apt/lists/* && apt-get
2017-05-12 15:38:12
316
原创 008-dockerbook中的命令总结(2)
00 列出本机镜像# 查看所有镜像sudo docker images# 查看指定镜像sudo docker images ubuntu01 搜索镜像sudo docker search ubuntu02 拉取镜像# 拉取ubuntu:latestsudo docker pull ubuntu# 拉取ubuntu:12.04sudo docker pull ubuntu:12.04# 拉取用
2017-05-12 15:16:14
197
原创 007-dockerbook中的命令总结(1)
00 启动 docker 守护进程sudo systemctl start docker01 查看 docker 信息sudo docker info02 查看完整的 docker 命令列表sudo docker help03 docker run 中的 -i 与 -t 选项# -i:保证容器的 STDIN 是开启的# -t:为创建的容器分配一个伪 tty 终端sudo docker run -
2017-05-12 14:14:47
239
原创 006-查看容器中当前运行的进程
在容器里面ps -aux在容器外面# myubuntu 是容器的名称,也可使用容器的IDsudo docker top myubuntu
2017-05-12 14:13:17
4299
原创 005-搭建私有仓库,上传镜像报错:server gave HTTP response to HTTPS client
报错:server gave HTTP response to HTTPS client解决:在/etc/docker/目录下,创建daemon.json文件。在文件中写入{ "insecure-registries":["192.168.124.1:5000"] }使用sudo systemctl restart docker重启 docker 的守护进程
2017-05-09 16:05:38
1448
原创 004-执行 docker attach 后,没有进入容器内部
问题:执行 docker attach 命令后,光标处于闪动状态,但是并没有进入容器内部 解决:再按一次回车键,即可进入容器
2017-05-09 16:04:17
5570
1
原创 003-官方的Ubuntu镜像缺少ifconfig与ping命令.md
# 更新仓库apt-get update# 安装ifconfig命令apt-get install net-tools# 安装ping命令apt-get install iputils-ping
2017-05-09 16:03:18
589
原创 002-Docker for Windows
1. 下载 点击此处下载 Docker for Windows,要求 64 位的 Windows 10 Pro,还需要开启 Microsoft Hyper-V。在第一次启动 docker 时,如果 Hyper-V 没有开启,docker可自动去开启该功能,开启之后需要重启计算机。手动开启 Hyper-V 的方法是:控制面板 -> 程序 -> 启用或关闭Windows功能 -> 选中Hy
2017-05-09 09:39:52
3649
2
原创 001-在 Cent OS 7 上安装 docker-ce
1. 卸载老版本的 docker 及其相关依赖sudo yum remove docker docker-common container-selinux docker-selinux docker-engine 2. 安装 yum-utils,它提供了 yum-config-manager,可用来管理yum源sudo yum install -y yum-utils 3. 添加yum源
2017-05-09 08:55:40
7101
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人