docker简单操作 docker-compose
systemctl daemon-reload后再重启
登录不上或者推送错误
添加etc/resolve.conf
nameserver=dns对应服务的dns
登陆https协议解决协议安全问题
修改daemon.json文件
{
"registry-mirrors": ["https://27.128.236.149:9090"]
},
"insecure-registries": [
"https://27.128.236.149:9090"
]
-----------------------------------------------------------------------------
{
"exec-opts": [
"native.cgroupdriver=systemd"
],
"log-driver":"json-file",
"log-opts":{
"max-size":"100m"
},
"graph":"/data/docker",
"storage-opts":["overlay2.override_kernel_check=true"],
"insecure-registries":["https://27.128.236.149:9090"]
}
-----------------------------------------------------------------------------
docker save和docker export的区别
- 对于Docker Save方法,会保存该镜像的所有历史记录
- 对于Docker Export 方法,不会保留历史记录,即没有commit历史
- docker save保存的是镜像(image),docker export保存的是容器(container);
- docker load用来载入镜像包,docker import用来载入容器包,但两者都会恢复为镜像;
- docker load不能对载入的镜像重命名,而docker import可以为镜像指定新名称。
docker save > nginx.tar nginx:latest
docker load < nginx.tar
cat nginx-test.tar | docker import - nginx:imp
拷贝文件到容器
docker cp 你的文件路径 容器ID:docker容器路径
创建容器
docker run -it --name string 镜像名 /bin/bash
进入容器
docker exec -it 容器名 /bin/bash
部署好的容器提交为镜像
docker commit -a "judai" szppms szppms:v1
打包一个镜像
docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3
使用scp传输至其他服务器:从本地复制到远程
scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file
scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3
scp -r www.runoob.com:/home/root/others/ /home/space/music/
新服务器载入镜像
docker load --input fedora.tar
--input , -i : 指定导入的文件,代替 STDIN
--quiet , -q : 精简输出信息
安装docker
安装依赖yum install -y yum-utils device-mapper-persistent-data lvm2
配置镜像 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r (用sort -r 命令来排序docker-ce的版本,从高到低。可以使用yum install docker-ce-17.09.0.ce指定安装的版本)
yum makecache fast (我们在更新yum源或者出现配置yum源之后,通常都会使用yum makecache 生成缓存)
更新 Docker CE(sudo yum update docker-ce)
卸载 Docker CE(sudo yum remove docker-ce)
删除本地文件注意,docker 的本地文件,包括镜像(images), 容器(containers), 存储卷(volumes)等,都需要手工删除。
默认目录存储在 /var/lib/docker。(sudo rm -rf /var/lib/docker)
{
"registry-mirrors": [
"https://kfwkfulq.mirror.aliyuncs.com",
"https://2lqq34jg.mirror.aliyuncs.com",
"https://pee6w651.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com"
],
"dns": ["8.8.8.8","8.8.4.4"]
}
docker-compose up 本质是docker-compose logs -f,它会收集所有容器的日志输出直到退出.或者容器都停止运行,比如创建容器时失败,会退出当前命令行
docker build清除缓存
#获取gitlab-ci.yml动态传过来的参数
ARG arg_env
FROM cr.d.test.net/bd-qa/maven:3-jdk-8-onbuild AS builder
ARG arg_env
RUN echo '--------------arg_env----------------'
RUN echo $arg_env
RUN mkdir -p /home/work
WORKDIR /home/work
COPY . .
#-Dmaven.test.skip=true
RUN yum -y install fontconfig#清除缓存用
RUN fc-cache --forc#清除缓存用
RUN mvn -U clean package -P $arg_env -Dmaven.test.skip=true && mkdir /app/ && cp -a web/target/web.jar /app/d.jar
FROM cr.d.test.net/bd-qa/test_centos:openjdk-1.8-krb5-1.14
MAINTAINER ds "ds@test.com"
WORKDIR /home/work
COPY --from=builder /app/d.jar .
ENV LANG en_US.UTF-8
RUN apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/*
#开放8080端口号
EXPOSE 8080
RUN /bin/chown -R work:work /home/work
#CMD ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/home/work/dac.jar"]
CMD ["java","-Djava.security.egd=file:/dev/./urandom","-Xmx16384m","-Xms16384m","-XX:SurvivorRatio=8","-XX:+PrintGCDetails","-XX:+PrintGCTimeStamps","-jar","/home/work/d.jar"]
查看docker启动日志
docker logs --tail -n mysqlcontainername