Docker 基础知识
* install
* mirror
* image
* container
install
brew cask install docker
mirror(Registry mirrors)
https://www.daocloud.io/mirror#accelerator-doc
http://281d8819.m.daocloud.io
http://mirrors.ustc.edu.cn/help/dockerhub.html
https://docker.mirrors.ustc.edu.cn/
image && container
基础命令
docker pull ubuntu
docker images | docker image ls
docker ps (-a) | docker container ls (-a) 默认显示刚刚运行的
docker run -it ubuntu bash
查找镜像
docker search ubuntu
运行一个ubuntu 镜像
docker run -it ubuntu /bin/bash
docker run -itd ubuntu /bin/bash
docker run -it --rm ubuntu bash
-t:在新容器内指定一个伪终端或终端。
-i:允许你对容器内的标准输入 (STDIN) 进行交互。
-d:让容器在后台运行。
--rm: 容器退出后并随之将其删除。
查看最后100条docker运行日志
docker logs -f --tail=100 d5d8f78fb0e8
-f: 查看实时日志。
--tail: 查看最后的100条日志。
删除全部容器:
docker rm CONTAINER-ID
docker rm -f 1196d882e87a
docker rm $(docker ps -aq)
-q: 列出全部容器ID
-f: 强制删除容器
启动关闭一个容器
docker ps -a
docker (container) start/stop CONTAINER-ID
docker start/stop 5b79fbbd8517
进入容器
docker ps -a
docker exec -it CONTAINER-ID bash
docker exec -it 5b79fbbd8517 bash
数据卷(Volume)
docker run -it -v /Users/guotaozou/Desktop:/app f975c5035748 bash
docker run -it -v /Users/guotaozou/Desktop:/app ubuntu bash
-v 是在虚拟机的根目录下面中指定一个app的文件夹 共享 /Users/guotaozou/Desktop 文件夹
如何在docker和宿主机之间复制文件?
sudo docker cp containerID:container_path host_path
docker cp ef0a546fe9fb:/root/1.txt ~/Desktop
Docker Hub将镜像推送到自己的[Docker Hub]仓库中
docker login 输入用户名和密码
新建 zgt0109/test 仓库
docker tag 079344ce5ebd zgt0109/test:v2 打上标签
docker push zgt0109/test:v2 推送
自定义手工创建Dockerfile文件,打包镜像
mkdir docker_demo 并进入
touch Dockerfile
vi Dockerfile
FROM ruby:2.3
RUN sed -i 's/httpredir.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list
RUN apt-get update && apt-get install -y mysql-client nodejs
RUN gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/ -v
RUN bundle config mirror.https://rubygems.org https://gems.ruby-china.org
RUN gem install rails -v 5.0.0.1
当前目录下运行 docker build -t rails:v3 . 新建镜像rails:v3
docker images 查看下载的镜像
docker run -it -v /Users/guotaozou/Desktop:/apple rails:v3 bash
拉取nginx:alpine 镜像 并映射本地8080 端口访问
docker pull nginx:alpine
cd /Users/admin/test
touch index.html
echo 'welcome index html' > index.html
docker run -d -v /Users/admin/test:/usr/share/nginx/html -p 8080:80 nginx:alpine
-v: 主机(host)和虚拟机容器(guest)之间共享文件夹
-p: 端口
网友评论