docker命令
docker run IMAGE(启动容器所使用的镜像) COMMAND(容器启动后运行的命令) ARG(参数)
docker run -i -t IMAGE /bin/bash -i --interactive=true|false 默认是false 为容器始终打开标准输入
-t --tty=true|false 默认是false 为容易分配一个伪终端
Ctrl+p Ctrl+q退出交互式终端
-d 以后台形式运行命令
docker ps [-a] [-l] 查看容器 -a列出所有的容器 -l列出最新创建的一个容器
docker inspect 查看建立的容器详细信息|或镜像的详细信息
docker run --name=自定义名字 -i -t IMAGE /bin/base
docker start -i --name 重新启动暂停容器
docker rm 容器 删除容器
docker attach Id|name 重新进入交互式终端
exit; 退出容器 ,结束容器
docker inspect --name 查看容器信息
docker logs [-f] [-t] [--tail]
-f --follows=true|false 默认为false 跟踪日志的变化并返回结果
-t --timestamps=true|false 在返回的结果上加时间戳
-tail= "all" 返回结尾处多少数量的日志
docker top 容器名 查看容器中进程情况
docker exec [-d] [-i] [-t] 容器名 COMMAND(容器启动后运行的命令) ARG(参数)
docker stop 容器名 发送命令,等待容器停止
docker kill 容器名 直接停止容器
docker images [options] [repository]
-a --all= false 显示所有镜像,默认是不显示中间层的镜像
-f --filter=[] 过滤条件
--no-trunc=false 截断唯一ID
-q,--quiet=false 只显示唯一ID
docker search options term
--automated=false 选定后为自动化创建的docker镜像
--no-trunc=false 是否截断
-s,--stars=0 选中结果的最低星级
docker commit options CONTAINER [REPOSITORY[:TAG]]
-a,--anthor="" 作者
-m,--message="" 信息
-p,--pause=true commit时是否暂停运行的容器
docker -d
DockerFile命令
FROM image|image:tag 已经存在的镜像 必须为第一条非注释指令
MAINTAINER 指定镜像的作者信息,包含镜像的所有者和联系信息
RUN 指定当前镜像中运行的命令 shell模式 exec模式
CMD ["executable","param1","param2"] (exec模式)
CMD command param1 param2(shell模式)
ENTERYPOINT ["executable","param1","param2"] (exec模式)
ENTERYPOINT command param1 param2(shell模式)
CMD 与 ENTERYPOINT 区别为是否会被docker run命令所覆盖
ADD ["<src>" ... "<desc>"] 适用于文件路径中有空格的情况
COPY ["<src>" ... "<desc>"] 适用于文件路径中有空格的情况
ADD 与 COPY 区别为 ADD包含类似tar的解压功能 如果单纯复制文件,Docker推荐使用COPY
USER daemon 基于什么用户来运行 USER user USER uid USER user:group USER uid:gid USER user:gid USER uid:group 默认root
ONBUILD 镜像触发器 当一个镜像被其他镜像作为基础镜像时执行
DOCKER 附加桌面
1.下载rogaha/docker-desktop docker build -t rogaha/docker-desktop
2.CONTAINER_ID=$(docker run -d -P rogaha/docker-desktop)
3.获得密码:echo $(docker logs $CONTAINER_ID | sed -n 1p)
4.设置与本机端口docker port $CONTAINER_ID 22
5.ssh docker@主机ip -p port "sh -c './docker-desktop -s 800x600 -d 10 > /dev/null 2>&1 &'" 设置ssh登录
6.xpra --ssh="ssh -p 主机端口" attach ssh:docker@主机ip:10
一个mysql的dockerfile
#version 1.0
FROM ubuntu
MAINTAINER sunpeng/mysql
WORKDIR /root/
RUN apt-get install -y libaio-dev
RUN cd
ADD mysql56 /usr/lib/mysql
RUN groupadd mysql
RUN useradd -r -g mysql mysql
RUN /usr/lib/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/lib/mysql --datadir=/usr/lib/mysql/data
RUN cp /usr/lib/mysql/support-files/mysql.server /etc/init.d/mysql
RUN service mysql start