verysu 设计模式 设计模式 响应式编程 百度开发平台 codeforces leetcode usfca

导航

docker简单操作 docker-compose

 

 

http://www.runoob.com/docker/docker-tutorial.html引导网站
登录不上的话
修改/usr/lib/systemd/system/docker.service
添加ExecStart=/usr/bin/dockerd --insecure-registry 10.131.178.174

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"]
}

  -----------------------------------------------------------------------------

1添加 yum 仓库
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
2安装 Docker
$ yum install -y docker-engine
查看安装成功docker version
3启动docker
systemctl start docker.service
4使用docker version命令查看
验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
5设置开机自启动
sudo systemctl enable docker
6docker镜像的获取与删除
(1) docker pull centos :下载centos所有的镜像
(2)docker pull centos:centos6  下载centos6镜像
(3)docker images  查看本机所有的镜像包
(4)docker images -a  列出所有的images(包含历史)
6docker 导入镜像
docker load --input ~/centos-7.3.tar
 

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 -o nginx.tar nginx:latest 
docker save > nginx.tar nginx:latest 
载入
docker load -i nginx.tar
docker load < nginx.tar
导出
docker export #ID or #Name > /home/export.tar
导入
docker import nginx-test.tar nginx:imp
cat nginx-test.tar | docker import - nginx:imp
 
 
 
docker挂载主机目录 -v
删除images,通过image的id来指定删除谁
docker rmi <image id>
docker run -i -t -v /root/engine/:/root/engine centos /bin/bash
7.搜索镜像
docker search mysql/ sudo docker search mysql
下载镜像 docker pull mysql
将本地镜像导出为文件
docker load -i mysql.tar
编译制作Docker的命令  docker build -f Dockerfile
 
使用这个镜像
docker run httpd
 
生成镜像
docker commit -m "descrip" -a "author" contanerId imagename
保存镜像到特定位置
docker save 容器id > path(/usr/redis.img)
加载特定位置的镜像
docker load < ./redis.img
repository和tag为none时
docker tag eb9a804ae885 postgres:postgres
使用新镜像创建容器
docker run -itd -p 5123:80 centos_with_httpd:genesis bash
查看容器信息
sudo docker inspect 62eaf2475304
15063
windows下操作联网
DockerCli.exe -SwitchDaemon
 
 
gitlab
docker run --detach --hostname gitlab.example.com --publish 443:443 --publish 80:80 --publish 22:22 --name gitlab --restart always --volume /srv/gitlab/config:/etc/gitlab --volume /srv/gitlab/logs:/var/log/gitlab --volume /srv/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest
selinux开始的时候
docker run --detach --hostname gitlab.example.com --publish 443:443 --publish 80:80 --publish 22:22 --name gitlab --restart always --volume /srv/gitlab/config:/etc/gitlab:Z --volume /srv/gitlab/logs:/var/log/gitlab:Z --volume /srv/gitlab/data:/var/opt/gitlab:Z gitlab/gitlab-ce:latest
日志输出到宿主机器docker run -d -p 9999:8888 -v /usr/local/myproject/demo/logs:/logs/ XXX
-d 后台运行 -p 端口映射 /usr/local/myproject/demo/logs 指你的服务器的日志目录 /logs/ 指项目中的日志目录 XXX 指刚才的容器名
 
生成镜像出错 <4>[76087.064817] XFS (dm-4): log mount failed
 docker rm $(docker ps -q -f status=exited)
docker volume rm $(docker volume ls -qf dangling=true) 
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)

拷贝文件到容器
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 生成缓存)

yum install docker-ce -y (安装 docker-ce库)
配置阿里云docker镜像地址(可以改成自己的阿里云地址)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{  
   "registry-mirrors": ["https://kfwkfulq.mirror.aliyuncs.com/"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
4.将Docker添加到开机启动
sudo systemctl enable docker
5.启动 docker 服务
sudo systemctl start docker

更新 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

posted on 2020-11-08 02:22  泳之  阅读(113)  评论(0编辑  收藏  举报

我是谁? 回答错误