docker安装命令
1.yum install -y docker 安装docker
2.yum list installed | grep docker 查看dockers是否安装成功 3.systemctl start docker.service 启动docker服务 4.systemctl enable docker.service 设置开机自启 5.systemctl status docker 查看docker服务状态
docker常用命令-镜像篇
1.systemctl restart docker 重启docker服务
2.dockr search xx 搜索镜像(xx例如mysql/jdk)
3.docker pull xx 拉取镜像
3.docker rmi xx 删除镜像
4.docker save xx > xxx.tar 保存镜像成压缩文件(当网络无法pull拉取镜像情况下拷贝镜像方法)
5.docker load —input xxx.tar(解压加载保存的镜像压缩文件)
6.docker build -t openjdk-jar:8 ./ (./目录下存在dockerfile文件,自定义创建镜像)
dockerfile(jar包启动自定义镜像,使用场景变更java工程内存,默认800MB): FROM openjdk:8-jre-alpine
RUN sh -c ‘touch /app.jar’
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
ENTRYPOINT [“java”,”-Xmx800m”,”-Dspring.config.location=/home/application.yml,/home/application.properties”,”-Djava.security.egd=file:/dev/./urandom”,”-jar”,”/app.jar”]
docker常用命令-容器篇
1.docker run -d —name custom -p 8123:8123 -p 9002:9000 -p 9011:9009 yandex/clickhouse-server
说明:custom 自定义容器名 -p 8123:8123 容器内部端口映射到宿主机端口,前者宿主机后者容器内部端口 yandex/clickhouse-server为镜像名称
2.docker ps -a 查看所有容器,包含未启动成功
3.docker logs -f —tail=1000 xxx 查询容器日志,xx为容器名
4.docker start xxx 启动容器
5.docker stop xx 关闭容器
6.docker rm xxx 删除容器
7.docker restart xxx 重启容器
8.docker exec -it xx /bin/sh 进去容器内部
容器内部命令:cat /etc/hosts 查询容器内ip
9.docker inspect xx 获取容器/镜像的元数据,通常查询容器内部ip
10.docker cp /data/v3 96f7f14e99ab:/bin/ 用于容器与主机之间的数据拷贝,前者宿主机目录,后者容器id和目录
docker-compose安装命令
1.安装docker-compose
curl -L “https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose
2.docker-compose —version 查看版本
docker-compose常用命令
1.以下命令需要到docker-compose.yml 所在目录下执行
docker up -d 创建并后台运行所有容器
docker down 停止并删除容器、网络、卷、镜像
docker donw xxx 停止并某删除容器、网络、卷、镜像
2.常用命令:
docker-compose restart xx 重启容器
docker-compose start xxx 启动容器
docker-compose stop xxx 停止容器
3.clickerhouse容器docker-compose.yml参考
version: ‘3.1’
services:
clickhouse01:
image: yandex/clickhouse-server
container_name: clickhouse01
user: root
privileged: true
ports:
- 9000:9000
- 9009:9009
- 8123:8123
volumes:
- “./clickhouse-colony/clickhouse-server1/clickhouse/:/var/lib/clickhouse/“
- “./clickhouse-colony/clickhouse-server1/clickhouse-server/:/etc/clickhouse-server/“
- “./clickhouse-colony/clickhouse-server1/log/clickhouse-server/:/var/log/clickhouse-server/“
ulimits:
nofile:
soft: 262144
hard: 262144
docker/docker-compose实战记录
1.对java工程来说,根据需求需要自定义dockerfile(docker build命令)来解决java工程容器占用内存问题;
2.docker容器实际上可当成一台宿主机来思考问题;例如在部署clickerhouse集群时,需要注意集群配置文件配置IP地址;在同一台宿主机的docker容器服务,相互访问通过docker inspect来获取容器访问IP地址,当然也是可直接配置容器名当做ip;
3.对一些特殊镜像容器;例如通过es镜像启动容器,需要配置启动内存和修改宿主机某个参数或者dockerfile自定义容器来解决问题;
4.docker logs —since=”1441018800” acceptance_batch.los 该命令可拷贝docker日志成文件,拷贝到本机上排查问题;