docker安装与启动
安装docker
yum install docker-ce
启动docker:
systemctl start docker
停止docker:
systemctl stop docker
重启docker:
systemctl restart docker
查看docker状态:
systemctl status docker
开机启动:
systemctl enable docker
查看docker概要信息
docker info
查看docker帮助文档
docker --help
容器镜像相关
容器启动与进入
注意 stop,restart后的容器,或者commit后的镜像启动环境变量需要重新加载,比如 source /etc/source
我们运行docker容器的时候,使用了-d参数,把容器在后台运行后。
启动docker容器
docker run -d -i -t <imageID> /bin/bash
上述命令执行某些命令回报错Failed to get D-Bus connection: Operation not permitted
可使用如下命令启动
docker run -d -i -t <imageID> /usr/sbin/init
这个时候,我们使用docker ps命令,我们就可以知道哪些程序在后台运行。
进入容器
(1)使用docker attach命令
我们使用
docker attach db3 或者 docker attach d48b21a7e439
db3是后台容器的NAMES,d48b21a7e439是容器的进程ID CONTAINER ID
然后就进去了这个容器的ssh界面。
但是它有一个缺点,只要这个连接终止,或者使用了exit命令,容器就会退出后台运行
(2)使用docker exec命令
这个命令使用exit命令后,不会退出后台,一般使用这个命令,使用方法如下
docker exec -it db3 /bin/sh 或者 docker exec -it d48b21a7e439 /bin/sh
db3是后台容器的NAMES,d48b21a7e439是容器的进程ID CONTAINER ID
/bin/sh 是固定写法
它也能进入这个容器
关闭启动重起
docker stop 容器id
docker start 容器id
docker restart 容器id
查看所有容器
包括关闭的
docker ps -a
镜像相关
查看镜像
docker images
删除images
通过image的id来指定删除谁
docker rmi <image id>
提交镜像
docker提交新的镜像,在本地可以看到新的形象
docker commit afcaf46e8305(容器id) centos-vim(自定义名)
导出镜像到文件
docker save -o myimage.tar myimage:1.0
上述命令将 myimage:1.0
镜像保存为 myimage.tar
文件。
导入文件镜像
docker load -i myimage_1.0.tar
拉取私服镜像
docker login your-nexus-server:port#登录私服
docker pull nexus.example.com:5000/nginx:1.21.1
上传镜像到私服
docker push
其他命令
1.停止所有的container,这样才能够删除其中的images:
docker stop $(docker ps -a -q)
如果想要删除所有container的话再加一个指令:
docker rm $(docker ps -a -q)
2.查看当前有些什么images
docker images
3.删除images,通过image的id来指定删除谁
docker rmi <image id>
想要删除untagged images,也就是那些id为<None>的image的话可以用
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
要删除全部image的话
docker rmi $(docker images -q)
安装portainer 用于管理docker
1、查询当前Portainer镜像,选择start值比较高的
命令:
docker search portainer
2、下载指定portainer镜像
命令:
docker pull portainer/portainer
3、本次只部署单机版,命令如下
docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data --name prtainer-test portainer/portainer
如下图:
参数说明:
-d:容器在后台运行;
-p 9000:9000 :宿主机9000端口映射容器中的9000端口
–restart 标志会检查容器的退出代码,并据此来决定是否要重启容器,默认是不会重启。
–restart=always:自动重启该容器
-v /var/run/docker.sock:/var/run/dock