教程:
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 来删除容器。