docker笔记
#下载Docker官方源 [1] cd /etc/yum.repos.d wget https://download.docker.com/linux/centos/docker-ce.repo #安装docker CentOS7 下直接yum -y install docker #启动docker,将docker设置为开机启动 systemctl start docker systemctl enable docker #查看运行中的容器 docker ps #开启、关闭、kill容器 docker stop Name/ID docker start Name/ID docker kill Name/ID #配置镜像加速 修改/etc/docker/daemon.json { "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"] } 如果docker已经启动要重启docker才会使加速配置生效 systemctl restart docker #初始化镜像 docker pull docker.io/centos #将指定的镜像实例化为容器 docker run -d -p 3307:3306 --name test_centos7 docker.io/centos:latest 参数: -p 将容器端口映射成宿主机端口。格式:本机端口:容器端口 --name 容器名称。 -d 容器进入后台运行,我们在容器中执行操作完成并退出后容器不会结束运行。 [1] 更多参数 [1] #进入到创建的容器执行其他操作 docker exec -ti test_centos7 /bin/bash 参数: [1] 进入容器后就可以像ssh登录服务器后一样执行其他操作,如运行yum安装软件、执行shell操作文件目录等 #容器开启或者关闭 docker stop test_centos7 docker start test_centos7 #查看容器的指定端口(如3306)对应本地机器的IP和端口号 docker port test_centos7 3306 #0.0.0.0:3307 #在下载镜像前搜索是否存在相关镜像 docker search centos docker pull centos:7 #实例化容器时如果要映射多个端口到宿主机上可以指定多个-p参数 docker run -d -p 80:80 -p 2222:22 --name test_centos7 docker.io/centos #如果容器中无法执行systemctl命令则需要在容器实例创建时执行/usr/sbin/init docker run -d -p 80:80 -p 2222:22 --name test_centos7 docker.io/centos /usr/sbin/init #查看已经建立的容器 docker ps -a #将容器保存为镜像(后面的hash值通过docker ps -a命令查看) [1] docker commit 861eea8a625e test/centos7-ssh:v0.1 #查看本地的镜像 docker images #删除docker镜像 docker rmi test/centos7-ssh:v0.1 #将容器删除(注意:容器中的所有数据都将丢失,操作前请做好相关数据备份) docker rm test_centos7 #将宿主机内的数据复制到容器中 docker cp /etc/yum.repos.d/ test_centos7:/etc/yum.repos.d/ docker cp /etc/localtime test_centos7:/etc/localtime #查看容器IP docker inspect test_centos7 | grep IPAddress #通过Dockerfile文件制作镜像 [1] [2] 1.新建一个目录: mkdir lnmp 2.进入目录下新建Dockerfile文件,内容如下: ############################### # This my first nginx Dockerfile # Version 1.0 # Base images 基础镜像 FROM test/centos7-ssh:v0.1 #ENV 设置环境变量 ENV PATH /usr/local/php_565/bin:$PATH #EXPOSE 80 #EXPOSE 443 #EXPOSE 8080 #CMD 运行以下命令 CMD ["/usr/sbin/init"] ############################### #使用Dockerfile制作镜像 docker build -t test/centos7-ssh:v0.2 . #docker-compose进入某个容器 docker-compose exec php bash #主机意外关机后进入关机前的docker实例 docker ps -a 看容器名 docker start 容器名 #查看docker容器中的进程,docker容器中的进程通过宿主机的ps -ef命令也可以看到 docker top 9b40a74ceb82(容器id) #Docker目录挂载 [1] docker run -it -v /test:/soft centos /bin/bash #启动一个centos容器,宿主机的/test目录挂载到容器的/soft目录 注: 1. 在容器启动后,容器内会自动创建/soft的目录 2. 宿主机目录如果不存在,则会自动生成 #docker通过link方式链接另一个容器 [1] --link www_mysql:my_mysql_server.cc #通过--link连接名为www_mysql的容器,并为其设置了别名my_mysql_server.cc #重命名镜像tag [1] docker tag 3da0f4853002 docker.io/mysql:latest_v1 #查看指定实例日志 [1] [2] #docker logs -f -t --tail 500 www_mysql #重命名(docker ps -a列表中的)容器 [1] docker rename www_mysql www_mysql_bak #以指定格式显示容器列表 [1] docker ps -a --format "{{.ID}}: {{.Command}}" docker ps -a --format "{{.ID}}: {{.Names}}"
posted on 2017-12-22 11:35 dream_bccb 阅读(211) 评论(0) 收藏 举报