|
runc是Docker自己开发的容器runtime,docker engine是runc的管理工具。
dockerfile是包含若干命令的,通过这些命令创建docker image,runtime根据docker image创建容器
容器通过image创建,需要仓库存放image,这个仓库就是Registry。
企业可以用Docker Registry构建私有的Registry。Docker Hub是公共的托管Registry。
容器编排(orchestration)引擎会动态地创建、迁移和销毁集群中的业务。
kubernetes就是Google开发的开源编排引擎。
容器管理平台是架构在编排引擎之上的一个更为通用的平台。提供更加方便的功能,比如一键应用部署等。管理平台有:
Rancher和ContainerShip。
基于容器的PaaS,为微服务应用开发人员和公司提供了开发、部署和管理应用的平台。
Centos 7上面安装docker:
1. 从官方Docker仓库安装,首先更新包数据库
yum check-update
2. 添加官方Docker仓库,下载并安装Docker
curl -fsSL https://get.docker.com/ | sh
3. 启动Docker deamon守护进程
sudo systemctl start docker
4. 验证一下
sudo systemctl status docker
5. 查看系统有哪些images:docker images
6. 查看哪些container在运行: docker ps -a
7. 删除container: docker rm <CONTAINER ID>
8. 删除image: docker rmi <IMAGE ID>
9. pull特定的tag: docker pull name:tag
e.g. docker pull ubuntu:14.04
10. 运行mysql docker container
docker run --name mysql -e MYSQL_ROOT_PASSWORD=Shuxxxx -e MYSQL_DATABASE=hudong -e MYSQL_USER=james -e MYSQL_PASSWORD=Hxxxxx -p 3306:3306 -d mysql:5.7.21
11. 安装docker-machine
$ base=https://github.com/docker/machine/releases/download/v0.14.0 &&
curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&
sudo install /tmp/docker-machine /usr/local/bin/docker-machine
12. 在centos上访问docker里面的mysql:
sudo docker exec -it mysql mysql -uroot -p
use hudong
show tables;
13. 在centos上安装phpmyadmin
sudo docker pull phpmyadmin/phpmyadmin
并且运行:
sudo docker run --name myadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin
然后在Win10开一个浏览器,键入47.94.xx.xxx:8080, user/passwd: root/Shuxxxxx
终于能访问了,参考https://medium.com/coderscorner/connecting-to-mysql-through-docker-997aa2c090cc
14. 临时disable selinux:sudo setenforce 0
15. 安装docker compose:
sudo curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
16. 修改执行权限:
sudo chmod +x /usr/local/bin/docker-compose
17. 检查安装是否成功: docker-compose --version
18. docker-mysql的环境变量:
MYSQL_ROOT_PASSWORD: The password for the root user. Defaults to a blank password
MYSQL_DATABASE: A database to automatically create. If not provided, does not create a database.
MYSQL_USER: A user to create that has access to the database specified by MYSQL_DATABASE.
MYSQL_PASSWORD: The password for MYSQL_USER. Defaults to a blank password.
19. 忽略mvn test的方法:
./mvnw package -Pprod dockerfile:build -D"maven.test.skip"=true
=====================================================
支持多个ssh key账号:
ssh-keygen提示保存的时候指定一个不一样的文件名称,如:id_rsa_ev
把生成的公钥添加到code.xxx.com
创建一个~/.ssh/config文件
编辑:
#Default Code.aliyun.com
Host xinda
HostName code.aliyun.com
User git
IdentityFile ~/.ssh/id_rsa
Host evc
HostName code.aliyun.com
User git
IdentityFile ~/.ssh/id_ras_ev
再提交第二个账号的代码时,使用:
git remote add origin git@evc:xxxx/testing.git |
-
|