1.centos7 安裝docker
https://docs.docker.com/install/linux/docker-ce/centos/
2.docker 配置阿里雲鏡像加速
a.注冊一個屬於自己的阿里雲賬戶(可復用淘寶賬號)
b.獲得加速器地址連接:
登陸阿里雲開發者平台
獲取加速器地址 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
配置鏡像加速器
針對Docker客戶端版本大於 1.10.0 的用戶
您可以通過修改daemon配置文件/etc/docker/daemon.json來使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{ "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"] } EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
3.配置docker服務開機自動啟動
docker 服務器開機自啟動:
1.systemctl is-enabled docker.service 檢查服務是否開機啟動
2.systemctl enable docker.service 將服務配置成開機啟動
3.systemctl start docker.service 啟動服務
systemctl 相關其他命令:
systemctl disable docker.service 禁止開機啟動
systemctl stop docker.service 停止
systemctl restart docker.service 重啟------------------------------------------------------
容器開機啟動:
創建容器時候指定restart參數:
docker run -it -p 6379:6379 --restart=always --name redis -d redis
對已經創建的容器用docker update 更新:
docker update --restart=always xxx
--restart具體參數值詳細信息 :
no - 容器退出時,不重啟容器
on-failure - 只有在非0狀態退出時才從新啟動容器
always - 無論退出狀態是如何,都重啟容器
docker運行hello-world
>docker run hello-world
使用docker安裝mysql
1.搜索mysql的docker鏡像
>docker search mysql
2.拉取mysql docker pull mysql[:TAG] TAG可選,不選默認選擇latest https://hub.docker.com/_/mysql?tab=tags
>docker pull mysql
3.列出本機鏡像
>docker images
4.根據mysql鏡像創建容器並運行
>docker run --name centos7-mysql -e MYSQL_ROOT_PASSWORD=123456 -P -d mysql
返回容器id
5.查看運行中的容器
>docker ps
6.查看具體容器內部細節
>docker inspect centos7-mysql
返回一個json串
7.連接mysql容器,已交互命令式連接
>docker exec -it centos7-mysql /bin/bash
8.連接mysql數據庫
>mysql -hlocalhost -uroot -p
mysql>show databases;
9.遠程連接mysql數據庫
a.設置mysql遠程權限
mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
b.刷新權限
mysql>flush privileges;
c.navicat測試連接
在運行以上方式創建的mysql容器時,產生的數據文件是在容器內部,一旦容器刪除,那么數據也就丟失,因此,下面創建容器將使用數據卷。使用數據卷有兩種方式:DockerFile內添加或者命令添加。
DockerFile內添加:
1.創建DockerFile文件
# volume mysql
FROM centos
VOLUME ["/mysql/config","/mysql/data"]
CMD echo "finished,--------success1"
CMD /bin/bash
2.docker build 根據DockerFile創建鏡像
>docker build -f /home/manage/docker/volume/mysql/mysqlvolume -t mysql/volume .
3.查看已有docker 鏡像
>docker images
4.run 上面的鏡像創建容器
>docker run -it b2c2f12085d4 /bin/bash
5.在容器內創建文件

6.在主機上找出對應容器卷的文件路徑
a.>docker inspect b141535f7860
b.在主機上找到對應的文件
c.進入到容器查看相應目錄
命令添加:
>docker run --name centos7-mysql -v /home/manage/mysql/config:/etc/mysql/conf.d -v /home/manage/mysql/data:/var/lib/mysql --privileged=true -e MYSQL_ROOT_PASSWORD=123456 -P -d mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
安裝docker-compose
GitHub源
sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Daocloud鏡像
curl -L https://get.daocloud.io/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
修改已經創建的docker容器的端口映射
對於已經創建的docker容器,如何修改映射的端口號呢?可以參考如下的操作步驟
0) docker container list –all
結果中的CONTAINER ID列為容器id
1) docker inspect <容器id> | grep Id
查看容器hash,<容器id>由步驟0)獲得
2) docker stop <容器id>
停止運行中的容器
3) vim /var/lib/docker/containers/[容器hash]/hostconfig.json,(有人提到,如果config.v2.json里面也記錄了端口,也要修改)
編輯容器配置文件,<容器hash>由步驟1)獲得
修改PortBindings參數配置,宿主機8001端口映射容器80端口示例:
“PortBindings”:{“80/tcp”:[{“HostIp”:””,”HostPort”:”8001″}]},”
4) systemctl restart docker
重新啟動docker引擎
5)docker start <容器id>
重新啟動docker容器














