1.查看IPjava
ip a slinux
2.解决无IP问题android
1> 将链接方式改成: 桥接模式
2> 修改 /etc/sysconfig/network-scripts ifcfg-eth0或者文件ifcfg-ens33 的ONBOOT=yes
3> systemctl restart networkweb
3.安装rz lzredis
yum -y install lrzszdocker
1.检验是否已安装dockercentos
yum list installed | grep docker安全
2.安装dockerbash
yum -y install docker
-y表示不询问安装,直到安装成功,安装完后再次查看安装列表服务器
3>启动docker :
systemctl start docker
4> 查看docker服务状态 :
systemctl status docker
5> 设置开机启动 :
systemctl enable docker.service
1> 下载基础镜像 :
docker pull centos:7.2.1511
2> 下载JDK
jdk-8u171-linux-x64.tar.gz
3> 建立 Dockerfile 文件:
FROM centos:7.2.1511 RUN mkdir /usr/java RUN mkdir /usr/java/jdk1.8.0_171 COPY ./jdk1.8.0_171/ /usr/java/jdk1.8.0_171 ENV JAVA_HOME=/usr/java/jdk1.8.0_171 ENV CLASS_PATH=.:$JAVA_HOME/lib ENV PATH=$PATH:$JAVA_HOME/bin
4> 解压包与3中的Dockerfile文件同目录
tar -zxvf jdk-8u171-linux-x64.tar.gz
5> 打包镜像
docker build -t jdk8:base . // jdk8:base 表明 REPOSITORY=jdk8 TAG=base
6> 查看镜像 :
docker images
7> 进入镜像并查看JDK是否安装成功 :
docker run -ti --entrypoint=bash jdk8:base
1> 建立Dockerfile文件:
FROM jdk8:base[JDK镜像] COPY ./项目名.jar[服务器jar包路径] /项目名.jar[镜像jar包路径] ENV JAVA_OPTS="" RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN sh -c echo 'Asia/Shanghai' >/etc/timezone ENTRYPOINT [ "sh", "-c", "java -Dfile.encoding=utf-8 $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /项目名.jar" ]
2> 上传项目包到Dockerfile目录
3> 打包镜像 :
docker build -t REPOSITORY:TAG [project:web]
4> 运行镜像 :
docker run -d -v /local:/docker --name redistest -p 8080:8080 REPOSITORY:TAG
/local[本地路径]:/docker // 将容器日志挂载到宿主机
5> 权限问题(permission denied): 三种方案
方案1>
docker run -d –privileged=true container
运行是增长**–privileged=true**特权参数
方案2>
关闭SElinux功能 : setenforce 0
方案3>
添加selinux规则,改变要挂载的目录的安全性文本
在主机中修改/soft目录的安全性文档
chcon -Rt svirt_sandbox_file_t /soft
ll
镜像类 : 1> 查看镜像 : docker images 2> 拉取镜像 : docker pull REPOSITORY:TAG 3> 查找镜像 : docker search xxx 4> 删除镜像 : docker rmi REPOSITORY:TAG 5> 构建镜像 : docker build -t REPOSITORY:TAG . 6> 运行镜像 : docker run -d -v /app/data/logs/redistest[本地路径]:/app/data/logs/redistest[容器路径] --name redistest -p 8080:8080 REPOSITORY:TAG -t,--tty : 分配伪TTY,常与-i仪器使用 -i,--interactive : 进入交互模式 --rm : 容器退出时,自动删除容器,与-d选项冲突不可同时使用 --rm -d,--detach : 后台模式运行容器,并打印容器ID -d --name string : 设置容器的名称,若是没有就随机生成一个 --name xxx -m,--memory : 指定内存配额,单位 b,k,m,g --memory=100MB -P,--publish-all : 自动映射全部对外提供服务的端口 -P --network string : 容器使用的网络(默认为bridge) -e,--env list : 设置环境变量 7> 导出镜像 : docker save -o <存储名称> <REPOSITORY:TAG> 8> 导入镜像 : docker load -i <存储名称> 容器类 : 1> 建立容器 : docker create 2> 查看容器 : docker ps -a : 列出全部容器(包括未运行的容器),默认只列出正在运行的容器 -l : 列出最后一个建立的容器 -q : 仅列出容器ID -n : 列出最后X个建立的容器 3> 运行容器 : docker run -d -v /app/data/logs/redistest[本地路径]:/app/data/logs/redistest[容器路径] --name redistest -p 8080:8080 REPOSITORY:TAG 4> 中止容器 : docker stop REPOSITORY:TAG 5> 启动容器 : docker start 6> 重启容器 : docker restart 7> 查看容器日志 : docker logs REPOSITORY:TAG 8> 查看容器详细信息 : docker inspect 9> 删除容器 : docker rm REPOSITORY:TAG
安装harbor :
参考 :
https://my.oschina.net/xsh1208/blog/3024544?device=geekTime.android
https://www.linuxidc.com/Linux/2018-01/150358.htm
1> docker-compose -v // 查看是否安装成功
2> 下载harbor http://harbor.orientsoft.cn/
3> 重启 : docker-compose start
4> 查看状态 : docker-compose ps
5> 查看日志 : cd /var/log/harbor
启动失败 : docker-compose.yml 里面 registry 的 commond去掉. 不使用配置文件便可.
6> docker login ip : Error response from daemon: Get https://10.11.51.71/v1/users/: dial tcp 10.11.51.71:443: getsockopt: connection refused
缘由 : docker login/pull/push等对registry的操做默认启用https,但这里harbor设置的是采用http。
解决 : 修改docker服务启动参数,在/etc/sysconfig/docker文件中的OPTIONS中增长"–insecure-registry 10.11.51.71" (centos7中默认没有/etc/sysconfig/docker文件,能够手工添加,同步修改启动文件/usr/lib/systemd/system/docker.service调用此参数文件)
须要重启docker服务和docker-compose服务
镜像仓库 :
hosts (127.0.0.1 xxx.harbor.com) 1> tag : docker tag SOURCE_IMAGE[:TAG] xxx.harbor.com/anyunfeng/IMAGE[:TAG] // 打tag 2> push : docker push xxx.harbor.com/anyunfeng/IMAGE[:TAG] // 推送镜像到镜像仓库 3> pull : docker pull // 从镜像仓库拉取镜像