从公网拉取一个镜像

docker pull images_name

查看已有的docker镜像

[root@docker ~]# docker images

查看帮助

docker command --help

查看镜像列表

docker search nginx

启动一个容器

  1. #基于hello-world镜像启动一个容器,如果本地没有镜像会从公网拉取过来,这次做为测试用
  2. docker run hello-world

导出镜像

docker save -o image_name.tar image_name

删除镜像

docker rmi image_name

启动一个容器

  1. docker run --name=con_name images
  2. --name #设置容器名

基于创建好的容器自定义docker镜像

docker commit -m "con_name" con_id image_name

创建一个容器的同时进入这个容器

  1. docker run -it --name=con_name images
  2. -it #在启动之后进入这个容器

创建一个容器,放入后台运行,把物理机80端口映射到容器的80端口

  1. docker run -d -p 81:80 image_name
  2. #-p 参数说明
  3. -p hostPort:containerPort
  4. -p ip:hostPort:containerPort
  5. -p ip::containerPort
  6. -p hostPort:containerPort:udp

看容器的端口映射情况

docker port con_id

查看正在运行的容器

docker ps 

查看所有的容器

docker ps -a

动态查看容器日志

docker logs -f con_name

进入容器

docker attach con_name

退出容器

  1. # 方法一
  2. exit
  3. # 方法二
  4. ctrl+p && ctrl+q (一起按,注意顺序,退出后容器依然保持启动状态)

删除容器

  1. docker rm con_name
  2. #强制删除需要加-f,不加-f不能删除正在运行中的容器,非常危险,最好不用

查看docker网络

  1. [root@docker ~]# docker network ls
  2. NETWORK ID NAME DRIVER SCOPE
  3. 3f91f2097286 bridge bridge local
  4. d7675dbd247c docker_gwbridge bridge local
  5. 5b36c7e947fd host host local
  6. ims6qkpikafu ingress overlay swarm
  7. 85ba10e7ef79 none null local

创建一个docker网络my-docker

  1. docker network create -d bridge \
  2. --subnet=192.168.0.0/24 \
  3. --gateway=192.168.0.100 \
  4. --ip-range=192.168.0.0/24 \
  5. my-docker

利用刚才创建的网络启动一个容器

  1. #docker run --network=my-docker --ip=192.168.0.5 -itd --name=con_name -h lb01 image_name
  2. --network #指定容器网络
  3. --ip #设定容器ip地址
  4. -h #给容器设置主机名

查看容器pid

  1. #方法一:
  2. docker top con_name
  3. #方法二:
  4. docker inspect --format "{{.State.Pid}}" con_name

运行dockerfile并给dockerfile创建的镜像建立名字

docker build -t mysql:3.6.34 `pwd`

mariadb容器启动前需先设置密码方法

docker run -d -P -e MYSQL_ROOT_PASSWORD=password  img_id

docker修改镜像名

docker tag imageid name:tag

进入docker容器脚本

  1. [root@docker ~]# cat nsenter.sh
  2. PID=`docker inspect --format "{{.State.Pid}}" $1`
  3. nsenter -t $PID -u --mount -i -n -p

创建一个网络

docker network create --driver bridge --subnet 172.22.16.0/24 --gateway 172.22.16.1 my_net2

将容器添加到my_net2网络 connect

docker network connect my_net2 oldboy1

docker日志模块

使用filebeat收集日志

  1. {
  2. "registry-mirrors": ["https://56px195b.mirror.aliyuncs.com"],
  3. "cluster-store":"consul://192.168.56.13:8500",
  4. "cluster-advertise": "192.168.56.11:2375",
  5. "log-driver": "fluentd",
  6. "log-opts": {
  7. "fluentd-address":"192.168.56.13:24224",
  8. "tag":"linux-node1.example.com"
  9. }
  10. }

拉取镜像:

$ sudo docker pull registry.cn-hangzhou.aliyuncs.com/z2q/ubuntu:[镜像版本号]

3. 将镜像推送到Registry

$ sudo docker login --username=***24966@qq.com registry.cn-hangzhou.aliyuncs.com$ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/z2q/ubuntu:[镜像版本号]$ sudo docker push registry.cn-hangzhou.aliyuncs.com/z2q/ubuntu:[镜像版本号]

Docker最佳实践-部署LNMP环境
http://www.cnblogs.com/Csir/p/6888066.html

 

(2)保存镜像

docker commit -m "python" oldID newID

[root@localhost docker]

docker save -o /home/work/spring-boot-docer.tar  spring-boot-docker:latest

(3)加载镜像

可以在任何装 docker 的地方加载 刚保存的镜像了。

docker load -i spring-boot-docker.tar  

root@hd-slave1:~/docker# docker run -p 8081:8080  -d spring-boot-docker

ea5e2adc1b2e4c3bace0643a26bfdd0de4694daa2425ee2bc2a1a01ece1f6f59

(4) windows下

利用image运行container

docker run -it --rm -p 8888:8888 -v /c/Users/tingting/dropbox/code:/root/opt/workspace -v /c/Users/tingting/dropbox/data:/root/data tingtinglu/caffe_mxnet
docker run -it --rm -p 8888:8888 -v /c/Users/tingting/dropbox/code:/root/opt/workspace -v /c/Users/tingting/dropbox/data:/root/data tingtinglu/caffe_mxnet

(1)利用参数 -v
(2)冒号前为宿主机目录,必须为绝对路径
① /c/Users/tingting/dropbox/code:
本机的C:\Users\tingting\dropbox\code文件夹
② /c/Users/tingting/dropbox/data
本机的C:\Users\tingting\dropbox\data文件夹
(3)冒号后为镜像内挂载的路径
① /root/opt/workspace
docker中的文件夹/root/opt/workspace
② /root/data
docker中的文件夹/root/data
(4)这里的本机文件夹为c盘,那么,能否为d盘呢?
测试:

docker run -it --rm -p 8888:8888 -v /d/Dropbox/code:/root /opt/workspace -v /d/Dropbox/data:/root/data tingtinglu/caffe_mxnet
发现并不可行,因为目前windows下只支持c盘下的文件夹映射

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部