docker service 系统介绍

在ubuntu14.4下安装Docker服务

sudo apt-get update
sudo apt-get upgrade
sudo curl -fsSL https://get.docker.com/ | sh
sudo curl -fsSL https://get.docker.com/gpg | sudo apt-key add -

启动服务:

sudo service docker start

获取ubuntu镜像

sudo docker pull dl.dockerpool.com:5000/ubuntu:14.04

查看服务状

sudo service docker status

安装docker UI(这个不太好用)

sudo git clone https://github.com/crosbymichael/not-dockers-ui.git
cd not-dockers-ui
sudo apt-get install npm
sudo npm install grunt
sudo npm install -g grunt-cli
sudo grunt run
sudo docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker
sudo usermod -aG docker root

Dockerfile的格式

FROM ubuntu:14.04               //指定生成镜像的系统版本
RUN apt-get update              
RUN apt-get -y install oracle-java8-installer
RUN apt-get -y install oracle-java8-set-default
RUN apt-get -y install mysql-server-5.6
ADD google-chrome-stable_current_amd64.deb /opt

生成镜像

sudo docker build -t=image_name .           // 点号表示在当前目录查找Dockerfile

保存镜像到文件

sudo docker save image_name > /home/tetra/image_name.tar

导入镜像

sudo docker load < /home/tetra/image_name.tar

从镜像创建容器

sudo docker run -d -h image_name -p 40001:80 -p 40002:3306 -p 40003:12357 --name container_name --volume /opt/dist:/opt/dist -t -i tetra /bin/bash

启动容器命令

sudo docker start container_name

外网访问docker服务

在ubuntu14.4中,在/etc/default/docker 文件中,增加一行:
DOCKER_OPTS="-H=unix:///var/run/docker.sock -H=0.0.0.0:41235"
重启docker服务
sudo service docker restart
如果修改/etc/default/docker/ 文件不生效,修改/lib/systemd/system/docker.service 文件,在里面增加一行:
EnvironmentFile=-/etc/default/docker
修改: 
ExecStart=/usr/bin/docker -d -H fd://
为:
ExecStart=/usr/bin/docker -d -H fd:// $DOCKER_OPTS
然后重启docker服务。

资源监控

docker stats

由于在一台宿主机上生成的容器过多,导致mysql服务器没法运行,解决办法

sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld

docker container备份迁移脚本

#!/bin/sh
container_ids=`docker ps -a --format "模板:.ID"`
for container_id in $container_ids
    do
        echo $container_id
        docker export $container_id > "$container_id"".tar"
    done

恢复导出的container

docker import /home/tetra/0222acdcc.tar
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值