按照官方的推薦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