Fossil SCM
Clarified the fact that the "docker cp" command is changing the name of the repository DB file.
Commit
f0b15a37fc7aa50abe03ab659fc8043c180440d2e0b3fba767a2d4d46c8b6649
Parent
1441c2e6d3d1b98…
1 file changed
+9
-2
+9
-2
| --- www/build.wiki | ||
| +++ www/build.wiki | ||
| @@ -295,11 +295,11 @@ | ||
| 295 | 295 | <i>image</i>, not in the image itself. |
| 296 | 296 | |
| 297 | 297 | The simplest method is to stop the container if it was running, |
| 298 | 298 | then say: |
| 299 | 299 | |
| 300 | -<pre><code> $ docker cp /path/to/repo.fossil fossil:/jail/museum/repo.fossil | |
| 300 | +<pre><code> $ docker cp /path/to/my-project.fossil fossil:/jail/museum/repo.fossil | |
| 301 | 301 | $ docker start fossil |
| 302 | 302 | $ docker exec fossil chown 0 /jail/museum/repo.fossil</code></pre> |
| 303 | 303 | |
| 304 | 304 | That copies the local Fossil repo into the container where the server |
| 305 | 305 | expects to find it, so that the "start" command causes it to serve from |
| @@ -308,11 +308,18 @@ | ||
| 308 | 308 | |
| 309 | 309 | (The same is true of the default mode of operation: the <tt>fossil |
| 310 | 310 | server --create</tt> flag initializes a fresh Fossil repo atop the base |
| 311 | 311 | image.) |
| 312 | 312 | |
| 313 | -If you skip the "chown" command and put "http://localhost:9999/" into | |
| 313 | +Notice that the name of the repository database likely needs to change | |
| 314 | +in the copy. The container configuration expects it to be called | |
| 315 | +<tt>repo.fossil<//tt>, which it almost certainly was not out on the host | |
| 316 | +system. This is because there is only one repository inside this | |
| 317 | +container, so we don't have to name it after the project it contains, as | |
| 318 | +is traditional. | |
| 319 | + | |
| 320 | +If you skip the following "chown" command and put "http://localhost:9999/" into | |
| 314 | 321 | your browser, expecting to see the copied-in repo's home page, you will |
| 315 | 322 | get an opaque "Not Found" error. This is because the user and |
| 316 | 323 | group ID of the file will be that of your local user on the container's |
| 317 | 324 | host machine, which won't map to anything in the container's |
| 318 | 325 | <tt>/etc/passwd</tt> and <tt>/etc/group</tt> files, effectively |
| 319 | 326 |
| --- www/build.wiki | |
| +++ www/build.wiki | |
| @@ -295,11 +295,11 @@ | |
| 295 | <i>image</i>, not in the image itself. |
| 296 | |
| 297 | The simplest method is to stop the container if it was running, |
| 298 | then say: |
| 299 | |
| 300 | <pre><code> $ docker cp /path/to/repo.fossil fossil:/jail/museum/repo.fossil |
| 301 | $ docker start fossil |
| 302 | $ docker exec fossil chown 0 /jail/museum/repo.fossil</code></pre> |
| 303 | |
| 304 | That copies the local Fossil repo into the container where the server |
| 305 | expects to find it, so that the "start" command causes it to serve from |
| @@ -308,11 +308,18 @@ | |
| 308 | |
| 309 | (The same is true of the default mode of operation: the <tt>fossil |
| 310 | server --create</tt> flag initializes a fresh Fossil repo atop the base |
| 311 | image.) |
| 312 | |
| 313 | If you skip the "chown" command and put "http://localhost:9999/" into |
| 314 | your browser, expecting to see the copied-in repo's home page, you will |
| 315 | get an opaque "Not Found" error. This is because the user and |
| 316 | group ID of the file will be that of your local user on the container's |
| 317 | host machine, which won't map to anything in the container's |
| 318 | <tt>/etc/passwd</tt> and <tt>/etc/group</tt> files, effectively |
| 319 |
| --- www/build.wiki | |
| +++ www/build.wiki | |
| @@ -295,11 +295,11 @@ | |
| 295 | <i>image</i>, not in the image itself. |
| 296 | |
| 297 | The simplest method is to stop the container if it was running, |
| 298 | then say: |
| 299 | |
| 300 | <pre><code> $ docker cp /path/to/my-project.fossil fossil:/jail/museum/repo.fossil |
| 301 | $ docker start fossil |
| 302 | $ docker exec fossil chown 0 /jail/museum/repo.fossil</code></pre> |
| 303 | |
| 304 | That copies the local Fossil repo into the container where the server |
| 305 | expects to find it, so that the "start" command causes it to serve from |
| @@ -308,11 +308,18 @@ | |
| 308 | |
| 309 | (The same is true of the default mode of operation: the <tt>fossil |
| 310 | server --create</tt> flag initializes a fresh Fossil repo atop the base |
| 311 | image.) |
| 312 | |
| 313 | Notice that the name of the repository database likely needs to change |
| 314 | in the copy. The container configuration expects it to be called |
| 315 | <tt>repo.fossil<//tt>, which it almost certainly was not out on the host |
| 316 | system. This is because there is only one repository inside this |
| 317 | container, so we don't have to name it after the project it contains, as |
| 318 | is traditional. |
| 319 | |
| 320 | If you skip the following "chown" command and put "http://localhost:9999/" into |
| 321 | your browser, expecting to see the copied-in repo's home page, you will |
| 322 | get an opaque "Not Found" error. This is because the user and |
| 323 | group ID of the file will be that of your local user on the container's |
| 324 | host machine, which won't map to anything in the container's |
| 325 | <tt>/etc/passwd</tt> and <tt>/etc/group</tt> files, effectively |
| 326 |