一、docker安装
参照官方文档:https://docs.docker.com/install/linux/docker-ce/centos/
我们就选用docker-ce安装就行,按照官方的第一种方式进行安装:Install using the repository
1、卸载现有版本的docker:
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、安装前提:
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
3、设置docker官方的repo:
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
4、有了repo了,可以查看下可用的版本并排序:
$ yum list docker-ce --showduplicates | sort -r
5、选择合适的版本进行安装:
$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
6、启动Docker:
$ sudo systemctl start docker
7、测试:
$ sudo docker run hello-world
二、docker镜像创建
进入到dockerfile所在目录(选择c盘目录,因为一些权限的原因,会导致宿主机与docker容器目录映射的问题):
docker build -t test:v1 .
-t : 给镜像设置一个名称
. : 读取当前目录下的dockerfile
三、创建docker容器
docker run -it -p 8080:8080 -v /c/Users/dyy/projectDir:/home/admin/devel test:v1 /bin/bash
-t : Allocate a pseudo-tty
-i : Keep STDIN open even if not attached
-p :端口映射, 宿主机端口号 : docker容器端口号
-v :文件目录映射,宿主机目录 : docker容器内的目录
test:v1 :基于名称为test:v1的镜像创建容器
/bin/bash : 容器run之后开启bash shell
(镜像在dockerfile有修改之后,重新建立。可以根据同一个镜像,使用不同参数,创建很多容器)
(镜像相当于类,容器相当于对象)
四、其他日常操作
(所有container_id或image_id只写前四位就好)
查看容器或镜像的元数据:docker inspect <container_id> or <image_id>
查看镜像:docker images
删除镜像:docker rmi <image_id>
镜像导出:docker save > xxx.tar.gz imagename:tag
镜像导入:docker load < xxx.tar.gz
离开容器:exit
查看正在运行的容器:docker ps
查看上一次使用的容器:docker ps -l
查看所有容器:docker ps -a
启动容器:docker start <container_id>
删除容器:docker rm <container_id>
shell附着:
分离式附着(exit之后容器不停止运行):exec -it container_id /bin/bash
非分离式附着(exit之后容器停止运行):docker attach container_id