1. 安装Docker
https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/
https://docs.docker.com/engine/installation/linux/docker-ce/centos/
2. 安装Docker Compose
https://docs.docker.com/compose/install/
3. 设置加速器
Ø 注册阿里云帐号并访问
https://cr.console.aliyun.com/#/accelerator
Ø 设置加速器
vi /etc/systemd/system/multi-user.target.wants/docker.service
ExecStart=/usr/bin/dockerd --registry-mirror=加速器地址
4. 开启2375端口
vi /etc/default/docker
DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --registry-mirror=加速器地址"
5. 常用命令
5.1. 进入Docker容器
docker ps:列表所有的docker容器
docker exec -it 容器ID /bin/bash
5.2. 导出镜像
docker export 镜像ID > 保存路径.tar
5.3. 导入镜像
tar -xvf 镜像文件.tar
docker import 镜像路径
5.4. 删除所有docker容器
docker rm $(docker ps -a -q)
5.5. 查看容器IP
docker inspect --format '{{ .NetworkSettings.IPAddress }}' 容器id
5.6. 拷贝文件
主机到容器:docker cp /path1 96f7f14e99ab:/path2
容器到主机:docker cp 96f7f14e99ab:/path1 /path2
5.7. 删除<none>镜像
docker images|grep none|awk '{print $3 }'|xargs docker rmi
6. 常用镜像
6.1. 私有仓库
Ø 下载镜像
docker pull registry
Ø 启动容器
docker run -d --name registry -p 5000:5000 -v /data/registry:/tmp/registry registry
Ø 上传镜像
docker push {仓库地址}:5000/{镜像名称}
例子: docker push 192.168.1.13:5000/egzosn/pay-java
备注:Error: Invalid registry endpoint https
解决方案:vi /etc/default/docker,添加–-insecure-registry 192.168.1.13:5000,如下图所示(重启docker服务):
Ø 下载私有仓库镜像
docker pull {镜像命名} {仓库地址}:5000/{镜像名称}
例子:docker pull egzosn/pay-java 192.168.1.13:5000/egzosn/pay-java
6.2. MariaDB
Ø 下载镜像
docker pull mariadb
Ø 启动容器
docker run --name mariadb -v /data/mariadb:/var/lib/mysql -p 13306:3306 -e MYSQL_ROOT_PASSWORD=hdfly2016 -d mariadb --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
6.3. Tomcat
Ø 下载镜像
docker pull tomcat
Ø 启动容器
docker run -d -it --name egzosn -p 18082:8080 tomcat
6.4. MongoDB
Ø 下载镜像
docker pull mongo
Ø 启动容器
docker run --name mongo_master -p 27017:27017 -v /data/mongo/1:/data/db -d mongo --auth
Ø 访问Mongo
docker exec -it mongo_master mongo admin
Ø 创建用户
db.createUser({ user: 'root', pwd: 'huodull.com', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
6.5. Redis
Ø 下载镜像
docker pull redis
Ø 启动容器
docker run --name proc-redis -v /data/redis/proc:/data -p 16379:6379 -d redis redis-server --appendonly yes
docker run --name redis_master -p 16379:16379 -v /data/redis/master/redis.conf:/usr/local/etc/redis/redis.conf -v /data/redis/master:/data -d redis redis-server /usr/local/etc/redis/redis.conf
docker run --name redis_slave -p 26379:26379 -v /data/redis/slave/redis.conf:/usr/local/etc/redis/redis.conf -v /data/redis/slave:/data -d redis redis-server /usr/local/etc/redis/redis.conf
Ø 连接容器
docker run -it redis redis-cli -h 127.0.0.1 -p16379
6.6. Jenkins
Ø 下载镜像
docker pull jenkins
Ø 启动容器
docker run -d --name jenkins -p 18080:8080 -p 50000:50000 -v /data/jenkins:/var/jenkins_home jenkins
6.7. DockerUI
Ø 下载镜像
docker pull uifd/ui-for-docker
Ø 启动容器
docker run -it -d --name docker-web -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker
Ø 访问DockerUI
http://127.0.0.1:9000
6.8. Shipyard
http://note.youdao.com/noteshare?id=21eaf2299d4e31f5b6252e677b24e2cd