查看和搜索所有的镜像及其tag
https://hub.docker.com/
docker pull
拉取远程分支
1. vaadhoo为用户名,即个人的仓库名,如果不写默认就是官方的library库
2. nginx为image的名字
3. v20190131为image的版本号,默认为latest
docker pull vaadhoo/nginx:v20190131
docker commit
从容器提交新的镜像
docker commit -a "xxx" -m "xxx" containerId xxx/xxx:xxx
docker push
将本地镜像push到远程仓库中
docker push vaadhoo/nginx:v20190131
docker image
列出所有的image
docker image ls
删除image
docker image rm a1ca2626f425
给image打tag
docker image tag nginx:v1 vaadhoo/nginx:v20190131
docker container
列出正在运行的容器
docker container ps
列出所有的容器
docker container ps -a
只列出正在运行的容器的id
docker container ps -q
容器的pause、unpause、start、stop和restart
docker container pause c04d42327534
docker container unpause c04d42327534
docker container start c04d42327534
docker container stop c04d42327534
docker container restart c04d42327534
删除container
docker container rm -f c04d42327534
docker cmd
创建后台运行的container
docker run -d --name ubuntu-server ubuntu:14.04
创建后台运行的container(不退出)
1. docker run -d --name ubuntu-server --restart=always ubuntu:14.04
2. docker update --restart=always bf36b371d773
创建后台运行的container(不退出+自启动服务)
docker run -d -p 65000:22 --name ubuntu-server --restart=always ubuntu:14.04 /usr/sbin/sshd -D
在container和local filesystem之间复制文件
docker cp test/ c04d42327534:/home
docker cp c04d42327534:/home test/
查看container的logs
docker logs c04d42327534
查看镜像/容器信息
docker inspect bf36b371d773
通过Dockerfile创建后台运行+自启动服务的容器
--------------------------------------------------------------
# auto_config.sh
#!/bin/sh
echo "Starting service ssh..."
/etc/init.d/ssh start
echo "Configuring mysql..."
usermod -d /var/lib/mysql/ mysql
chown -R mysql:mysql /var/lib/mysql
echo "Starting service mysql..."
/etc/init.d/mysql start
/bin/bash
--------------------------------------------------------------
--------------------------------------------------------------
# Dockerfile
# 设置初始image
FROM vaadhoo/ubuntu-server:3.0
MAINTAINER vaadhoo
# 暴露端口
EXPOSE 22
EXPOSE 2333
# 拷贝文件到image的目录
COPY auto_config.sh /auto_config.sh
# RUN指令将在当前镜像的新图层中执行命令并提交结果。生成用于下一步的镜像
RUN apt-get update\
&&apt-get -y upgrade\
&&apt-get install mysql-server -y\
&&apt-get install mysql-client -y\
&&apt-get install libmysqlclient-dev -y
RUN chmod 777 /auto_config.sh
CMD ["/auto_config.sh"]
--------------------------------------------------------------
--------------------------------------------------------------
# 命令
docker build -t image_name .
docker run -it -d --name ubuntu-server -p 65000:22 --restart=always image_name
--------------------------------------------------------------