https://www.docker.com/
https://hub-stage.docker.com/
https://docs.docker.com/engine/reference/commandline/run/
(1)安装包
yum install -y yum-utils
(2)设置镜像仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
(3)更新yum软件包索引
yum makecache fast
(4)安装docker
yum install docker-ce docker-ce-cli containerd.io
(5)启动docker
systemctl start docker
(6)查看版本
docker version
(7)运行hello-world镜像(注意:run命令就是根据镜像生成容器了、并没有运行!)
docker run hello-world
(8)查看镜像
docker images
(9)删除docker
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
(10)阿里云镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://va8qvyv5.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
(11)帮助命令
系统信息、包括镜像和容器的数量
docker info
docker 命令 --help
(12)镜像搜索
docker search mysql
(13)镜像下载(分层下载联合文件系统)
docker pull mysql
docker pull docker.io/library/mysql:latest
docker pull mysql:5.7
(14)镜像删除
docker rmi -f 镜像id
docker rmi -f $(docker images -aq)
(15)使用docker下载一个centos镜像
docker pull centos
(16)进入容器使用交互方式运行
docker run -it centos /bin/bash
exit
ctrl + p + q
(17)运行容器列出
docker ps
docker ps -a
docker ps -aq
(18)容器删除
docker rm 容器id
docker rm -f $(docker ps -aq)
(19)容器启动、重启、停止、强制停止
docker start 容器id
docker restart 容器id
docker stop 容器id
docker kill 容器id
(20)容器后台启动
docker run -d 容器名
坑:其实并没有启动、已经停止了、原因是后台运行、就必须前台进程、docker发现没有应用就自动停止了、守护线程
docker run -d centos
(21)日志查看(已运行容器)
docker logs -tf 容器id
docker logs -tf --tail 10 容器id
docker logs -tf 358a0007f2fa
(22)容器进程查看(已运行容器)
docker top 容器id
docker top 358a0007f2fa
(23)容器元数据(已运行容器)(注意:容器id只是前几位)
docker inspect 容器id
docker inspect 358a0007f2fa
(24)进入当前正在运行的容器(方式一:开启一个新的终端)
docker exec -it 容器id /bin/bash
docker exec -it 358a0007f2fa /bin/bash
(25)进入当前正在运行的容器(方式二:进入容器正在执行的终端)
docker attach 容器id
docker attach 358a0007f2fa
(26)从容器内拷贝文件到主机上(注意:容器和Linux隔离)
docker cp 容器id:容器内路径 目的主机路径
cd /home
touch person.java
docker cp 358a0007f2fa:/home/person.java /home
(27)Docker安装Nginx练习
docker search nginx
docker pull nginx
docker images
主机端口:容器端口
docker run -d --name nginx01 -p 3344:80 nginx
docker ps
curl localhost:3344
-p 3344:80端口暴露映射原理(打开防火墙中的端口、2个端口)
防火墙3344 防火墙80
公网访问成功(注意:轻量应用服务器防火墙添加规则:自定义端口3344)
62.234.17.21:3344
(28)Docker安装Tomcat练习
官网:如果没有会自动下载、--rm表示用完之后直接删除
docker run -it --rm tomcat:9.0
docker pull tomcat
docker run -d -p 3355:8080 --name tomcat01 tomcat