我对docker的理解:
docker相当于一个小型的“操作系统”,镜像相当于这个“操作系统”下的“应用程序”,而容器是这些“应用程序”的进程,只有启动了这些“应用程序”,有了容器实例,才能访问docker里的这些镜像。
一、安装docker
1.安装yum-utils:
yum install -y yum-utils device-mapper-persistent-data lvm2
2.为yum源添加docker仓库位置:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3.安装docker
yum install docker-ce
4.启动docker
systemctl start docker
二、Docker镜像的相关操作
1.拉取镜像
docker pull java:8
注:如果不标注版本,默认拉取最新
2.查看镜像列表
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
redis 5 c5da061a611a 3 months ago 110MB
mysql 5.7 c20987f18b13 3 months ago 448MB
nacos/nacos-server latest bdf60dc2ada3 8 months ago 1.05GB
nginx 1.10 0346349a1a64 5 years ago 182MB
java 8 d23bdf5b1b1b 5 years ago 643MB
3.删除镜像
docker rmi java:8
4.删除没用到的镜像
docker rmi `docker images | grep none | awk '{print $3}'`
5.删除所有镜像(谨慎)
docker rmi -f $(docker images)
三、Docker容器的相关操作
1.新建并启动容器(nginx为例)
docker run -p 80:80 --name nginx \
-e TZ="Asia/Shanghai" \
-v /mydata/nginx/html:/usr/share/nginx/html \
-d nginx:1.17.0
-p:将宿主机和容器端口进行映射,格式为:宿主机端口:容器端口;
–name:指定容器名称,之后可以通过容器名称来操作容器;
-e:设置容器的环境变量,这里设置的是时区;
-v:将宿主机上的文件挂载到宿主机上,格式为:宿主机文件目录:容器文件目录;
-d:表示容器以后台方式运行。
2.列出运行中容器列表
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2471a6cc7493 nginx:1.10 "nginx -g 'daemon of…" 2 hours ago Up 2 hours 0.0.0.0:80->80/tcp, 443/tcp nginx
f7a21c1f7e24 redis:5 "docker-entrypoint.s…" 2 hours ago Up 2 hours 0.0.0.0:6379->6379/tcp redis
6f8262a9767c nacos/nacos-server "bin/docker-startup.…" 2 hours ago Up 2 hours 0.0.0.0:8848->8848/tcp nacos
8ab95152ba37 mysql:5.7 "docker-entrypoint.s…" 3 hours ago Up 2 hours 0.0.0.0:3306->3306/tcp, 33060/tcp mysql
3.列出所有容器列表
docker ps -a
4.停止容器
docker stop [容器名(NAMES)]
#或者
docker stop [容器ID(CONTAINER ID)]
5.强制停止容器
docker kill [容器名(NAMES)]
6.启动容器(已经创建过了)
docker start [容器名(NAMES)]
7.删除容器
docker rm [容器名(NAMES)]
8.查看容器日志
docker logs [容器名(NAMES)]
9.修改容器启动方式为开机启动
docker container update --restart=always $(docker ps -aq)
这里指的是修改所有容器的启动方式,如果要修改单个,将$(docker ps -aq)替换为要修改的容器名(NAMES)
暂时就用到这些,以后再补充~