1.CentOS 7 docker下载与安装
- 下载docker
- 解压 tar -xvf docker-18.06.1-ce.tgz
- 将解压出来的docker文件内容移动到 /usr/bin/ 目录下cp docker/* /usr/bin/
- 将docker注册为service
vim /etc/systemd/system/docker.service
将下列配置加到docker.service中并保存
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
- 添加文件权限并启动docker chmod +x /etc/systemd/system/docker.service
- 重载unit配置文件 systemctl daemon-reload
- 启动Docker systemctl start docker
- 设置开机自启 systemctl enable docker.service
- 查看Docker状态 systemctl status docker
- 查看Docker版本 docker -v
2. 私有仓库搭建
采用官方的registry方式进行私有仓库搭建
- 下载registry镜像,此步骤需要外网
docker pull registry:2
- 查看已下载的镜像
docker images
- 启动私有仓库镜像, 与宿主机文件挂载
docker run -d -p 5000:5000 --restart=always --name myregistry -v /opt/registry:/var/lib/registry registry:2
-p 5000:5000 宿主机5000端口与镜像映射,-d 后台启动,–name myregistry 给启动的镜像起个名称,-v /opt/registry:/var/lib/registry 与宿主机文件挂载,registry:2 要启动的镜像名称与tag
- 如果想将镜像推送至私有仓库,需要通过docker tag将该镜像标志为要推送到私有仓库
docker tag centos7jdk8:latest ip:port/centos7jdk8:latest
centos7jdk8:latest为你需要推送的镜像名称与tag,ip:port为部署了registry的ip与registry的启动port,centos7jdk8:latest为上传私有镜像仓后镜像的名称与tag
- 上传镜像到私有仓库
docker push ip:port/centos7jdk8:latest
- 下载私有仓库的镜像,使用如下命令
docker pull ip:port/centos7jdk8:latest
dockerfile中拉取指定ip下镜像
FROM ip:port/centos7jdk8:latest
3. docker镜像保存为tar
保存镜像为tar
docker save -o x.tar 镜像名称:tag
导入镜像
docker load -i x.tar
3. docker 命令
在编写好Dockerfile后,构建镜像
docker build -t xx:xxtag .
最后的.不要忘记,此命令需要在Dockerfile所在目录执行,参考Dockerfile编写规则
后台启动镜像并端口映射 名称:tag || id 都可以
docker run -itd --name xx -p 9099:9099 xx:xxtag
查询正在运行的docker镜像
docker ps
查询全部(包括未启动的docker镜像)
docker ps –a
从左到右依次为:容器id,启动的images,启动后执行的shell,创建时长,运行时长,端口映射,容器名称
进入docker容器
docker exec –it 容器id sh
查看镜像详细信息
docker inspect 容器id
查看镜像日志
docker logs 容器id > docker.log
宿主机与容器间文件拷贝
docker cp 容器id:/opt/xxx/ /opt/xxx #容器中拷到宿主机
docker cp /opt/xxx 容器id:/opt/xxx/ #宿主机拷到容器中