按照官方的推荐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 dockersql
三、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 查找容器进程IDshell
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:applicationubuntu
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