docker基础操作

2022-08-10 20:19:33 浏览数 (1)

安装docker:

代码语言:javascript复制
sudo curl -sSL https://get.daocloud.io/docker | sh

:在CenoOS8上安装docker时可能出现一些错误,可以根据错误提示,用yum erase删除冲突模块即可。如:yum erase podman buildan

启动docker:

代码语言:javascript复制
systemctl start docker

设置docker镜像源:vim /etc/docker/daemon.json后输入以下内容

代码语言:javascript复制
{
        "registry-mirrors": [
          "https://registry.docker-cn.com",
          "http://hub-mirror.c.163.com",
          "https://docker.mirrors.ustc.edu.cn"
        ]
}

重启docker:

代码语言:javascript复制
systemctl restart docker

列出所有的容器ID:

代码语言:javascript复制
docker ps -aq

停止所有的容器:

代码语言:javascript复制
docker stop $(docker ps -aq)

删除所有的容器:

代码语言:javascript复制
docker rm $(docker ps -aq)

删除所有的镜像:

代码语言:javascript复制
docker rmi $(docker images -q)

删除所有不使用的镜像:

代码语言:javascript复制
docker image prune --force --all
#或
docker image prune -f -a

删除所有停止的容器:

代码语言:javascript复制
docker container prune -f

复制文件:

代码语言:javascript复制
docker cp mycontainer:/opt/file.txt /opt/local/
docker cp /opt/local/file.txt mycontainer:/opt/

修改Docker容器启动配置参数:

参考:Docker修改容器参数 docker 修改容器启动参数

代码语言:javascript复制
docker update --restart=always 容器名|容器ID

docker 修改容器端口映射

代码语言:javascript复制
docker run -d -p 9999:8080 -i -name tomcat8 tomcat:8    主机9999端口映射到8080端口

方法1: ① 删除原有容器docker rm -f 容器名/ID ② 创建新容器:docker run -d -p 8080:8080 -i --name tomcat8 tomcat:8 缺点:相关配置被删除

方法2:修改配置文件 ① 暂停docker服务systemctl stop docker ② 进入docker配置文件目录下cd /var/lib/docker/containers/ ls ③ 进入容器ID (ID为文件夹) ④ 修改hostconfig.json文件vim hostconfig.json ⑤ 修改其中端口值9999为8080 保存退出:wq ⑥ 重启docker服务 systemctl start docker 缺点:暂停docker服务会影响其他容器

注意!!!据我测试,还要修改config.v2.json中的"ExposedPorts"!不然还是无法访问端口的。。这个bug我找了快一个小时

方法3:使用docker commit命令创建新镜像 ① 停止容器服务docker stop tomcat8 ② 构建新镜像docker commit tomcat8 tomcat8_new ③ 使用新镜像重新创建容器docker run -d -p 8888:8080 -i --name tomcat88 tomcat8_new ④ 删除原有容器docker rm tomcat8 ⑤ 修改容器名称docker rename tomcat88 tomcat8 优点:什么都不会丢,什么都不影响  缺点:管理镜像成本提升

docker 修改主机映射目录

代码语言:javascript复制
docker run -d -p 9999:8080 -i -name tomcat8 -v /usr/local/webapps:/usr/local/tomcat/webapps tomcat:8 

同端口修改方法,方法2中修改的为config.v2.json文件

备忘:Centos8使用docker迁移typecho博客,这上面讲得很详细。

0 人点赞