zoukankan      html  css  js  c++  java
  • 1021 docker常用命令和Jenkins搭建

    docker常用命令

    1.镜像管理

    docker pull (镜像名)    # 默认拉取最新版本的镜像
    docker pull (镜像名:版本号)    #拉取指定版本的镜像
    docker push (镜像名)    # 推送镜像
    docker images    # 查看当前机器的所有镜像
    docker rmi 镜像名    #删除一个镜像
    docker tag 源镜像名:版本号 自定义镜像名:版本号     # 为一个镜像打tag
    docker save busybox > busybox.tar    # 制作镜像 
    docker load < busybox.tar    # 导入镜像
    

    给镜像重命名tag只是在原来的镜像上建立了一个软连接,删除镜像也只是删除tag,直到只剩原镜像

    2.容器管理

    free -h    #查看宿主机存储空间
    # 运行容器
    # 容器运行时的参数
    #--name 指定容器名称 -d 后台运行 -p 指定端口映射规则
    #--networkd 指定容器运行的网络模式 -v 指定需要挂载的数据卷
    #-e 指定需要传递给容器的环境变量 进入交互,env|grep 环境变量 查看环境变量是否传入成功
    docker run jenkins    #直接运行
    docker run -d jenkins    #后台运行
    docker run -d --name (容器名) (镜像名)    #指定容器name运行
    docker stop (容器名) #停止容器
    docker kill (容器名)    #杀死容器
    docker rm (容器名)
    docker rm -f (容器名)     #强行删除容器
    docker ps    #列出运行的容器
    docker ps -a    #列出所有的容器
    docker ps -a -s    #列出所有容器及占用硬盘空间
    
    CONTAINER ID:容器的id,唯一 IMAGE:使用的镜像 COMMAND:启动容器的脚本 CREATED:创建的时间 STATUS:当前容器的状态 PORTS:当前容器对外暴露的端口号 NAMES:指定的name ## 3.查看信息命令 ```#shell #查看日志 docker logs (容器id) docker logs (容器名) #日志实时滚动 docker logs -f ${CONTAINER ID} docker logs -f (容器名称) docker info #查看docker服务的信息 docker inspect (容器名称) #查看容器的元数据 docker stats 容器名 #查看容器当前占用的资源,如CPU,内存 ``` ## 4.容器交互命令 ```#shell docker exec -it 容器名 bash docker exec 容器名 echo "hello world" docker exec 容器名 ping www.baidu.com docker cp path/file 容器名:/path ``` ## 5.端口映射 宿主机端口号:容器端口号 ```#shell docker run -d --name csjjenkins jenkins #启动的容器网络并未对外暴露,在用网络名称空间隔离着,不能访问。 ``` 端口映射:把容器网络的端口映射到宿主机上,将访问宿主机某个端口的网络流浪包转发给容器,间接达到通信的目的。 ```#shell docker run -d --name csjjenkins -p 8080:8080 jenkins ``` 第一次启动Jenkins,需要填入初始化密码

    6.文件挂载

    持久化或数据保存能力:防止容器挂掉或被人误删导致数据丢失,需要经容器中的数据保存到本地。

    docker run -d --name csjjenkins -p 8080:8080 -v /Users/chenshanju/Desktop/docker/images/csjjenkins_home:/var/jenkins_home jenkins
    

    FAQ

    1.删除容器

    先停止容器
    docker stop ${CONTAINER ID}
    docker stop ${NAMES}
    删除容器
    docker rm -f ${CONTAINER ID}
    docker rm -f ${NAMES}

    2.挂载时遇到的权限问题

    需要修改下目录权限,因为当映射本地数据卷时,/Users/chenshanju/Desktop/docker/images/csjjenkins_home目录的拥有者是chenshanju,而容器中Jenkins用户的uid为1000
    用户身份不一致会导致权限问题
    1.chmod 777 /csjjenkins_home
    2.sudo chown -R 1000:1000 /User/chenshanju/Desktop/docker/images/csjjenkins

  • 相关阅读:
    jQuery 文本框得失焦点应用
    .NET 学习书籍推荐
    Android开发常见问题小结
    如何使用别人项目源码
    Android相关学习资料整理
    Android网络文件下载模块整理
    父类方法扩展
    继承后构造函数的关系
    私有属性和私有方法l
    面向对象
  • 原文地址:https://www.cnblogs.com/csj2018/p/9899031.html
Copyright © 2011-2022 走看看