您的位置:首页 > 运维架构 > Docker

docker service 系统介绍

2016-12-10 21:50 525 查看
在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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  docker