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,直到只剩原镜像 <img src="https://img2018.cnblogs.com/blog/1418970/201811/1418970-20181102171940028-2120861955.png" width="700" />docker

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    #列出全部容器及占用硬盘空间

<img src="https://img2018.cnblogs.com/blog/1418970/201811/1418970-20181102191832493-1530842209.png" width="600" /> <img src="https://img2018.cnblogs.com/blog/1418970/201811/1418970-20181102192255970-1579189588.png" width="600" /> 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,须要填入初始化密码 <img src="https://img2018.cnblogs.com/blog/1418970/201811/1418970-20181102195823289-1524182657.png" width="400" /> <img src="https://img2018.cnblogs.com/blog/1418970/201811/1418970-20181102195858622-1077077103.png" width="500" />shell

6.文件挂载

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

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/csjjenkinsui

相关文章
相关标签/搜索