- docker安装
- mac和Windows直接访问docker官网下载对应的安装包,打开一步接下一步即可;
- Linux比较麻烦,各种发行版,建议看这个吧https://zhuanlan.zhihu.com/p/5414778
- docker使用
- docker使用命令行进行相关基本操作;
- docker镜像管理类似于git;
- 镜像是一个最基础的模板,可以用pull拉去;镜像实际运行的位置称之为容器;
- 使用以下最基本命令(待补充)
- pull:拉去镜像
- run:运行镜像
- start/stop:容器开始及停止
- rm/rmi:删除容器/删除镜像
- 使用以下基本参数(待补充)
- -it:打开一个终端,Linux的话基本都是接 /bin/bash
-
--name:重命名容器名
-
-p:修改映射的端口
-
-v:共享相关文件夹
-
--restart=always:docker重启后自动重启镜像
- 使用实例:
-
拉去Jenkins最新镜像
-
docker pull ubuntu
-
从镜像中新建一个容器
-
docker run ubuntu
-
从镜像中新建一个容器并重命名该镜像
-
docker run --name ubuntu_demo ubuntu
-
从镜像中新建一个容器并映射容器中的8000端口到实体机的8086端口
-
docker run -p 8086:8080 ubuntu
-
从镜像中新建一个容器并打开终端
-
docker run ubuntu
-
还是感觉放一点例子比较实在
# docker run --name jenkins_h67 -p 8067:8080 jenkins/jenkins
# docker run --name jenkins_h40 -p 8040:8080 jenkins/jenkins
# docker run --name jenkins_h67 -p 8067:8080 -p 50000:50000 jenkins/jenkins
# docker exec -i -t CONTAINER_ID /bin/bash
# docker container update --restart=always CONTAINER_ID
# docker run --name demo_svn_ci -p 8000:8000 -v e:\MWX:/data ubuntu
# docker run --name h67_popo -v e:\MWX:/share -p 8400:8400 -p 9000:9000 -it ubuntu_v1 /bin/bash
################################################################
# 常用基本命令
# 显示所有运行的容器
docker ps
# 显示所有的容器(包括停止的)
docker ps -a
# 显示所有的镜像
docker images
# 启动指定的容器
docker start CONTAINER_ID
# 停止指定的容器
docker stop CONTAINER_ID
# 重启指定的容器
docker restart CONTAINER_ID
# 删除指定的容器
docker rm CONTAINER_ID
# 删除指定的镜像
docker rmi IMAGE_ID
################################################################
# run命令及参数(镜像——》容器)
# 基本命令
docker run IMAGE_ID
# -p 映射指定的端口
docker run -p 主机(宿主)端口:容器端口 IMAGE_ID
# -it 运行终端命令
docker run -it IMAGE_ID /bin/bash
# --name xxxxxx 改个名字
docker run --name xxxxxx IMAGE_ID
# -v 容器链接本地文件夹
docker run -v 本地路径:容器路径 IMAGE_ID
################################################################
# docker exec 在运行的容器中执行命令
# 启动终端
docker exec -it CONTAINER_ID /bin/sh
# 启动终端并运行一个脚本
docker exec -it CONTAINER_ID /bin/sh /root/1.sh
###############################################################
# container update 运行的容器更新设置
# 使得容器在重启docker后自动运行
docker container update --restart=always CONTAINER_ID
# 使得容器在重启docker后不自动运行(默认)
docker container update --restart=no CONTAINER_ID
###############################################################
# pause 运行的容器进程暂停及恢复
# 暂停容器中所有进程
docker pause CONTAINER_ID
# 恢复容器中所有进程
docker unpause CONTAINER_ID
###############################################################
# 本地镜像操作(容器——》镜像——》修改tag——》提交到本地镜像仓库)
# commit
# -a :提交的镜像作者
# -c :使用Dockerfile指令来创建镜像
# -m :提交时的说明文字
# -p :在commit时,将容器暂停
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
docker commit -a "runoob.com" -m "my apache" CONTAINER_ID mymysql:v1
# tag
docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
docker tag h67_popo 10.240.184.113:5000/winxuan/ubuntu_v2
# push
docker push [OPTIONS] NAME[:TAG]
# pull
docker pull [OPTIONS] NAME[:TAG|@DIGEST]