docker学习笔记

按照官方的推荐64位的linux内核3.10以上,这里选择centos7,默认内核版本3.10。安装步骤以下:python

一、centos7 x86_64mysql

vi /etc/yum.repo.d/docker.repo
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://download.docker.com/linux/centos/7/$ 
basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg 
linux

yum install -y docker-ceweb


二、启动docker
启动docker进程:systemctl start docker
查看docker进程:ps -ef |grep docker
root      1878     1  0 18:33 ?        00:00:00 /usr/bin/docker -d
root      2307  2201  0 18:52 pts/0    00:00:00 grep docker
sql

三、Docker经常使用命令讲解
docker info  #查看docker的详细信息
docker  version #查看版本
docker  search centos#搜索可用centos镜像
docker  images #查看当前docker全部镜像
docker  pull  centos #下载centos镜像
docker

docker  export  containerid  > cenos6.tar  #将容器导出为镜像
cat centos.tar | docker import - centos6  #Docker导入镜像
docker  run   centos echo "hello word"#在docker容器中运行hello world!
docker  run  centos yum install ntpdate#在容器中安装ntpdate的程序
docker  ps -l 命令得到最后一个容器的id
docker   ps  -a查看全部的容器。
运行docker commit 本地将容器镜像,例如:
docker  commit  2313132  centos:v1
docker run -i -t centos /bin/bash 在容器里启动一个/bin/bash shell环境,能够登陆进入操做,其中-t 表示打开一个终端的意思,-i表示能够交互输入。
docker run -d -i -t centos /bin/bash 在后台启动,-d表示在后台启动,以daemon方式启动
docker attach CONTAINERID 进入在后台启动后的这个容器(运行bash了)
docker exec -ti CONTAINERID /bin/bash #进入容器
docker run -d --name web -p 80:80 -p 8022:22 centos:latest /usr/bin/sshd -D #基于镜像centos:latest运行容器web,并启动ssh
docker stop  CONTAINERID 关闭容器,此外,当Docker容器中挃定的应用终结时,容器也自劢终止
docker start  CONTAINERID 启动某个容器
docker  rm  CONTAINERID 删除容器
docker  rmi  imagesID 删除镜像
要获取容器的输出信息,能够经过 docker logs 命令
docker cp [OPTIONS] CONTAINER:PATH LOCALPATH 将容器里的文件考出
docker commit 69079aaaaab1 ubuntu:update 将一个容器打包为一个镜像
docker diff 69079aaaaab1 查看新镜像和基础镜像的不一样
docker export 77d9619a7a71 > update.tar 将一个容器打包
docker import - update < update.tar 将打包文件输入为镜像
docker inspect -f '{{.State.Pid}}' 63f36fc01b5f 查找容器进程ID
shell

3.docker registry
docker run -d -p 5000:5000 registry 运行私有仓库
源码安装私有仓库
yum install -y python-devel libevent-devel python-pip gcc xz-devel
pip install docker-registry
gunicorn -c contrib/gunicorn.py docker_registry.wsgi:application
ubuntu


4.体验docker hub
建立 docker hub 账号 
docker login
而后就注册用户名密码 
centos

而后在使用 docker login 登陆bash

随后便可docker pull images、push localimages、search images各类了。


运行MySQL容器
docker run --name mysqlwp -e MYSQL_ROOT_PASSWORD=wordpressdocker -d mysql
docker run --name wordpress --link mysqlwp:mysql -p 80:80 -d wordpress

dockerfile编写时,若要容器在启动时后台运行多个服务,用supervisor来控制,好比:
[supervisord]
nodaemon=true
[program:sshd]
command=/usr/sbin/sshd -D

[program:mysqld]
command=/usr/bin/mysqld_safe
autostart=true
autorestart=true
user=root

5.新建网桥
若是服务已经运行,那须要先中止服务,再删除旧的网桥。
service docker stop
ip link set dev docker0 down
brctl delbr docker0

建立一个网桥 bridge0 。
brctl addbr bridge0
ip addr add 192.168.5.1/24 dev bridge0
sudo ip link set dev bridge0 up

确认网桥建立成功 ip addr show bridge0 4: bridge0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state UP group default link/ether 66:38:d0:0d:76:18 brd ff:ff:ff:ff:ff:ff inet 192.168.5.1/24 scope global bridge0 valid_lft forever preferred_lft forever 配置 Docker 服务,默讣桥接到建立的网桥上。 echo 'DOCKER_OPTS="-b=bridge0"' >> /etc/default/docker sudo service docker start

相关文章
相关标签/搜索