本文已参与「新人创作礼」活动,一起开启掘金创作之路。
docker安装步骤
1、查看内核版本,docker安装要求内核大于3.10
uname -r
2、切换到root用户,并更新yum命令
su
yun update
3、卸载旧版本(如果有)
yum remove docer docker-common docker-selinux docker-engine
4、安装工具包
yum install -y yum-utils device-mapper-persistent-data lvm2
5、配置阿里镜像源
yum-config-manager --add-repo mirrors.aliyun.com/docker-ce/l…
6、安装docker
yum install -y docker-ce
7、配置docker开机启动
systemctl enable docker
systemctl start docker
8、验证docker是否安装成功
docker version
9、docker HelloWorld测试
docker run hello-world
10、配置阿里docker镜像仓库
创建文件 touch /etc/docker/daemon.json
写入内容 { "registry-mirrors": ["kg2l9vio.mirror.aliyuncs.com"] }
然后运行 systemctl daemon-reload systemctl restart docker
11、docker基本命令
启动docker systemctl start docker
关闭docker systemctl stop docker
重启docker systemctl restart docker
开机启动docker systemctl enable docker
查看docker信息 docker info
查看docker帮助 docker --help
查看docker版本 docker version
列出本机的所有镜像 docker images
从镜像仓库搜索镜像 docker search image_name
拉取镜像 docker pull image_name:[tag]
删除镜像 docker rmi -f image_name
删除全部镜像 docker rmi -f $(docker images -qa)
以交互式启动一个镜像容器 docker run -it --name name image_id 或者iamge:tag
直接退出并关闭容器 exit
退出容器终端 ctrl+p+q
查看启动的容器 docker ps
进入容器 docker attach containerId
启动容器 docker start containerId
重启容器 docker restart containerId
关闭容器 docker stop containerId
删除容器 docker rm -f containerId
在后台启动一个容器 docker run -id --name name iamgeId
运行容器中的命令但不进入容器 docker exec -it containerId command
交互式进入容器 docker exec -it contaierId bash
容器与主机间文件的复制 docker cp localPath containerId:containerPath
查看容器日志 docker logs containerId
查看容器进程 docker top containerId
启动配置端口映射 docker run -it -p local_post:container_port imageId
将容器保存为镜像 docker commit -a zhanghongkai -m 测试镜像 containerId imageName:tag
登录docker hub docker login zhanghongkai 105473nolove
推送镜像到hub docker push imageId:tag
推送镜像到阿里云
1. 登录阿里云Docker Registry
$ sudo docker login --username=妖梅比斯 registry.cn-hangzhou.aliyuncs.com
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。
您可以在访问凭证页面修改凭证密码。
2. 从Registry中拉取镜像
$ sudo docker pull registry.cn-hangzhou.aliyuncs.com/zhk_tomcat/tomcat:[镜像版本号]
3. 将镜像推送到Registry
$ sudo docker login --username=妖梅比斯 registry.cn-hangzhou.aliyuncs.com
$ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/zhk_tomcat/tomcat:[镜像版本号]
$ sudo docker push registry.cn-hangzhou.aliyuncs.com/zhk_tomcat/tomcat:[镜像版本号]
容器目录挂载:docker run -id -v 主机目录:容器目录 imageId
查看容器元信息:docker inspect containerId
镜像备份:docker save -o 备份名.tar imageName:tag
镜像恢复:docker -local -i 备份名.tar
查看桥接网络:docker network ls
创建桥接网络:docker network create -d bridge bridgename
运行容器并制定桥接网络:docker run -d --network bridgename imageId
删除桥接网络:docker network rm bridgename
12、dockerFile
FROM image_name:tag
LABEL 声明镜像元信息,多行后加/
MATAINER 作者信息
RUN 执行命令
ADD localFile containerFile(可自动解压)
COPY localFile containerFile(不会自动解压)
ENV 设置环境变量
WORKDIR 设置工作目录
VOLUME 配置挂载目录
EXPOSE 开放端口
CMD 启动时运行指令
ONBUILD 子镜像创建时才执行
13、使用dockerFile创建镜像
docker build -f dockerFile -t image_name:tag .
14、使用dockerFile创建tomcat
FROM centos:7
MAINTAINER zhanghongkai1054733797@qq.com
LABEL name="mytomcat" \
build-date="2020-04-02"
COPY tomcat.DockerFile /home/tomcat.DockerFile
ADD jdk-8u241-linux-x64.tar.gz /home/
ADD apache-tomcat-8.5.53.tar.gz /home/
ENV WORKPATH /home/apache-tomcat-8.5.53
WORKDIR $WORKPATH
ENV JAVA_HOME /home/jdk1.8.0_241
ENV CLASSPATH JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /home/apache-tomcat-8.5.53
ENV CATALINA_BASE /home/apache-tomcat-8.5.53
ENV PATH JAVA_HOME/bin:CATALINA_HOME/bin
EXPOSE 8080
CMD ["/home/apache-tomcat-8.5.53/bin/catalina.sh","run"]
15、创建私有仓库
docker pull registry
docker run -id --name myregistry -p 5000:5000 registry
192.168.159.128:5000/v2/_catalog
修改/etc/docker/deamon.json,添加私有仓库地址
{
"registry-mirrors": ["kg2l9vio.mirror.aliyuncs.com"],
"insecure-registries":["192.168.159.128:5000"]
}
重启docker:systemctl restart dfocker
打包镜像:docker tab image_name:tag 192.168.159.128:5000/mytomcat:1.0
上传镜像:docker push 192.168.159.128:5000/mytomcat:1.0
拉取私有镜像:docker pull 192.168.159.128:5000/mytomcat:1.0