英文版地址

http://www.docker.com

中文版地址

https://www.docker-cn.com

docker仓库地址

https://hub.docker.com/

docker三要素

  • 镜像
  • 容器
  • 仓库

contos7 安装docker

卸载旧版本

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

设置仓库

yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装 Docker Engine-Community

yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

启动docker

systemctl start docker

设置镜像加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://23123.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

docker 镜像命令

##搜索镜像
docker search 镜像名
##拉取镜像
docker pull 镜像名
###查看下载的所有镜像
docker images
##查看所有正在运行的镜像 -a 所有正在运行的和历史运行过的,-l 最新运行的 -n 5 最近运行的5个容器
docker ps
docker ps -a
docker ps -l
docker ps -n 5
##删除镜像
docker rmi 镜像名/镜像id
docker rmi $(docker images -q) ## 多个

docker 容器命令

##以交互式运行镜像
docker run -it 镜像名
##以守护进程的方式运行容器
docker run -d 镜像名 /bin/bash -c "while true;echo hello world;sleep 5;done;"
##退出容器,容器停止运行
exit
## 退出容器,容器仍在运行
按ctrl p q
##查看容器运行日记,-t 显示时间 -f 跟随最新日记打印 --tail 数字 显示最后多少条
docker logs -t -f --tail 5 容器id
##重新进行正在运行的容器里面
docker attach 容器id
docker exec -it 容器id /bin/bash
##重新开启已关闭的容器
docker start 容器id
##容器重启
docker restart 容器id
##容器关闭
docker stop 容器id
##删除容器
docker rm 容器id
##删除多个
docker rm $(docker ps -q)

建立一个centos镜像(安装tomcat10 + jdk19)

FROM centos
MAINTAINER yang<yang@qq.com>
# 把宿主机当前上下文的c.txt拷贝到容器/usr/local/路径下
COPY c.txt /usr/local/cincontainer.txt
# 把java与tomcat添加到容器中
ADD jdk-19_linux-x64_bin.tar.gz /usr/local
ADD apache-tomcat-10.1.5.tar.gz /usr/local
#设置工作访问时候的WORKDIR路径,登录落脚点
ENV MYPATH /usr/local
WORKDIR $MYPATH
#配置java与tomcat环境变量
ENV JAVA_HOME /usr/local/jdk-19.0.2
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-10.1.5
ENV CATALINA_BASE /usr/local/apache-tomcat-10.1.5
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_BASE/bin
#容器运行时监听端口
EXPOSE 8080
#启动时运行tomcat
#ENTRYPOINT ["/usr/local/apache-tomcat-10.1.5/bin/startup.sh"]
#CMD ["/usr/local/apache-tomcat-10.1.5/bin/catalina.sh","run"]
CMD /usr/local/apache-tomcat-10.1.5/bin/startup.sh && tail -F /usr/local/apache-tomcat-10.1.5/bin/catalina.out

运行镜像

docker run -d -p 9080:8080 --name myt10 -v /yanguse/mydockerfile/tomcat10/test:/usr/local/apache-tomcat-10.1.5/webapps/test -v /yanguse/mydockerfile/tomcat10/tomcat10logs:/usr/local/apache-tomcat-10.1.5/logs --privileged=true yangtomcat10

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐