1.安装docker
wget -qO- https://get.docker.com/ | sh
2.安装docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose 是方便管理docker集群的编排工具,能很方便对容器做一些配置,如网络、文件映射等。
3.常用命令
启动集群:
docker-compose up
当集群中的某个容器有更新,执行上面命令会重新加载该容器:(这样只重启有变动的容器,其他的容器不会受影响)。
重启引擎集群:
docker-compose restart
停止集群:
docker-compose stop
查看正在运行中的容器信息:
docker ps
查看所有容器信息:
docker ps -a
单独重启某个容器:
docker restart [容器ID]
单独停止某个容器:
docker stop [容器ID]
单独启动某个容器:
docker start [容器ID]
查看某个容器的log:
docker logs [容器ID]
进入容器的bash环境:
docker exec -it [容器ID] /bin/bash
强制停止某个容器(不建议,用stop停止,以便让容器有足够的时间去做一些尾动作,kill会直接给容器内部进程发送9号信号):
docker kill [容器ID]
重启docker服务(不建议,应该先停止正在运行中的容器在进行此操作):
systemctl restart docker
删除容器:
docker rm
删除镜像:
docker rmi
4.Docker compose 配置文件docker-compose.yml注解
以下面格式为例:
test:
command: test
image: test
container_name: test
restart: always
logging:
options:
max-size: 10m
depends_on:
- test
volumes:
- /data:/data
ports:
- "8081:8080"
networks:
test_net:
ipv4_address: 192.168.18.45
networks:
test_net:
driver: bridge
ipam:
driver: default
config:
- subnet: 192.168.18.0/24
① command
容器启动时,给容器里面传递的命令,可以覆盖容器启动后默认执行的命令。
②image
指定镜像名称或者ID,如果本地没有,compose 将尝试从服务器拉取
③container_name
容器名称
④restart
当容器启动失败后,一直尝试重启
④logging
log选项
⑤depends_on
容器的依赖,解决启动先后顺序的问题
⑥volumes
挂在一个目录到容器的指定目录,HOST:CONTAINER
⑦ports
端口映射,HOST:CONTAINER
⑧ports
加入指定子网
⑨nerworks
网络基本配置
5.docker私有仓库创建
①快速用docker部署私有仓库服务器
docker run -p 5000:5000 registry:2.0
②私有仓库的镜像名称格式必须如下
localhost:5000/ubuntu:1204
注:locakhost替换为服务器ip
③推送/下载 镜像
docker push localhost:5000/ubuntu:1204
docker pull localhost:5000/ubuntu:1204
④查看私有仓库镜像
curl -X GET http://localhost:5000/v2/_catalog
④遇到问题
报错:Get https://localhost:5000/v2/: http: server gave HTTP response to HTTPS client
解决办法:
echo "{ \"insecure-registries\":[\"localhost:5000\"] }" > /etc/docker/daemon.json
systemctl daemon-reload
systemctl restart docker