关于docker:docker学习日记

45次阅读

共计 1708 个字符,预计需要花费 5 分钟才能阅读完成。

教程:
https://www.runoob.com/docker…
http://www.dockerinfo.net/doc…

1: 装置:
1.1:装置所需的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2

1.2:设置稳固的仓库
yum-config-manager –add-repo http://mirrors.aliyun.com/doc…

1.3:装置最新版本
yum install docker-ce docker-ce-cli containerd.io
如果不装置社区版本,能够间接执行:yum install docker

1.4:装置特定版本
1.4.1:列出并排序您存储库中可用的版本
yum list docker-ce –showduplicates | sort -r

1.4.2:通过其残缺的软件包名称装置特定版本。该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)始终到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

1.5:镜像仓库配置
在 /etc/docker/daemon.json 中写入如下内容
{
“registry-mirrors”: [“https://lfxql9az.mirror.aliyuncs.com”]
}

而后重新启动服务:

systemctl daemon-reload

systemctl restart docker

1.6:docker0 端口批改默认 IP:
docker 服务启动后,会默认起用 docker0 这个 IP,该 IP 的默认地址是 172.17.0.1。批改默认 IP 的办法是在 /etc/docker/daemon.json 中写入如下内容
{“bip”:”192.168.100.1/24″}

1.7:搜寻镜像:docker search -f stars=10 java(搜寻珍藏数量大于 10 的 java 镜像)
镜像官网地址:https://hub.docker.com

1.8:运行镜像:
docker run -itd –name yourname -p 80:80 imagename:tag
其中:- d 示意后盾运行
–name 是给运行的容器命名
-p 表是进行端口映射,冒号后面的端口是宿主机端口,冒号前面的端口是容器端口

1.9:创立镜像
在 Dockerfile 创立好之后,执行上面的命令能够创立镜像。
docker build -t imagename:tag .

Dockerfile 例子:
FROM java
RUN mkdir -p /home/apps/run/ && mkdir -p /home/logs/run/
COPY ./src/xxx/target/xxx.jar /home/apps/run/
WORKDIR /home/apps/run/
CMD java -jar xxx.jar

1.10:在容器里执行命令,相似如下:
docker exec -it 9df70f9a0714 /bin/bash

FAQ:
1: 遇到上面这个问题
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
起因是 docker 服务没有起用,须要执行命令:service docker start

2: 创立镜像的时候,提醒:docker 创立镜像时显示 Forbidden path outside the build context ../../xxxxx
起因是 COPY 命令不反对 ../ 这样的符号。
解决办法是:把 Dockerfile 文件上提,使之不应用 ../ 符号。

3:如果运行镜像提醒:The container name “xxx” is already in use by container xxx…。
这时候须要移除镜像。具体操作是先执行 docker ps -a 列出所有容器。而后应用 docker rm 容器 ID 来删除容器。

正文完
 0